Esempi di codice creati tramite AI copilot: gestione post wordpress con python
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()

Comments