Esempi di codice creati tramite AI copilot: gestione post wordpress con python

AI, CORSO PYTHON, SVILUPPO SW, TUTORIAL

In questo post e nei successivi voglio riportare alcuni test che sto facendo usando Copilot di Github integrato in Visual Studio code. Ritengo lo strumento molto interessante perché velocizza lo sviluppo di applicazioni in molti linguaggi specie su attività standard. Nel caso di Python ad esempio l’ho testato su casi come  integrazione con framework noti, creazione di funzioni matematiche, connessione a db, uso di librerie conosciute anche complesse es. keras, tensorflow, oppure integrazioni con sistemi tipo flask etc. etc.. insomma un bel pò di roba interessante specie per chi non sviluppa tutti i giorni e quindi è sempre in crisi quando non ricorda la modalità con cui integrare o le sintassi da utilizzare, insomma un buon supporto nello sviluppo.

Per chi fosse interessato lascio anche qui il riferimento a Copilot, in ogni caso proverò a dare la mia descrizione:  si può dire che Copilot è un’intelligenza artificiale che permette di scrivere codice in modo automatizzato digitando nomi di funzioni o descrivendo ciò che si desidera ottenere con il linguaggio naturale. Un’altra cosa interessante è che l’AI si adatta al codice che stai scrivendo  e  propone soluzioni a problemi concreti contestualizzati a ciò che stai facendo. In altre parole utilizzando il linguaggio naturale, il programmatore può chiedere a GitHub Copilot di scrivere codice al suo posto. Secondo i dati condivisi da GitHub circa il 40% del codice caricato sulla piattaforma è stato generato usando proprio Copilot, pare infatti che ad ottobre 2021  l’intelligenza artificiale di Copilot aveva scritto il 30% del codice pubblicato su GitHub.

Ad ogni modo qui un esempio veramente semplice di codice sviluppato con Copilot. Il primo test fatto in pochi minuti senza aver mai  mai visto prima le librerie di python per WordPress. Ho sperimentato pertanto uno sviluppo senza conoscere il contenuto che avrebbe proposto l’IA ed i risultati sono stati molto interessanti.

Ho testato il software sul mio blog è devo dire che funziona.

from wordpress_xmlrpc import Client, WordPressPost

from wordpress_xmlrpc.methods.posts import GetPosts, NewPost, EditPost, DeletePost

from wordpress_xmlrpc.methods.users import GetUserInfo

   

       
def connect_with_wordpress():

    wp = Client('https://<url_sito_wordpress>/xmlrpc.php', '<username>', '<password>')

    return wp

def get_posts(id):

    wp = connect_with_wordpress()

    posts = wp.call(GetPosts())

    for post in posts:

        if post.id == id:

            returnpost

def get_user_info():

    wp = connect_with_wordpress()

    user = wp.call(GetUserInfo())

    print(user)

def print_list_all_posts():

    wp = connect_with_wordpress()

    posts = wp.call(GetPosts())

    for post in posts:

        print(post.title)

        print(post.id)

        print(post.content)

def get_list_wp_status_post():

    wp = connect_with_wordpress()

    posts = wp.call(GetPosts())

    for post in posts:

        print(post.title)

        print(post.id)

        print(post.post_status)

def new_post(title, content):

    wp = connect_with_wordpress()

    post = WordPressPost()

    post.title = title

    post.content = content

    post.post_status = 'draft'

    wp.call(NewPost(post))

   

def edit_post(id, title, content):

    wp = connect_with_wordpress()

    post = get_posts(id)

    post.title = title

    post.content = content

    wp.call(EditPost(id, post))

def delete_post(id):

    wp = connect_with_wordpress()

    wp.call(DeletePost(id))

def get_all_posts_with_status(status):

    wp = connect_with_wordpress()

    posts = wp.call(GetPosts())

    for post in posts:

        if post.post_status == status:

            print(post.id,post.title,post.post_status)

def main():

    print_list_all_posts()

    #get_list_wp_status_post()

    #get_user_info()

    # print(get_posts(1))

    #new_post('test', 'test')

    #get_all_posts_with_status('draft')

    #delete_post(3920)

if __name__ == '__main__':

    main()
Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form