Skip to content
This repository was archived by the owner on Oct 31, 2020. It is now read-only.

python273/vk_api_vkscript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vk_api_vkscript

A little experiment with transpilation of python function code into VKScript

import vk_api
from parser import vkscript, API, parseInt

@vkscript
def inc_status(vk):
    x = parseInt(API.status.get()['text'])
    x = x + 1
    return API.status.set(text=x)

vk_session = vk_api.VkApi('python@vk.com', 'mypassword')
vk_session.auth(token_only=True)
vk = vk_session.get_api()
print(inc_status(vk))

inc_status fn has 2 calls to API, but after applying vkscript decorator it gets converted into VKScript function, so only one execute call being made when calling it (inc_status(vk))

var x = parseInt(API.status.get()["text"]);
x = x + 1;
return API.status.set({text:x});

The end goal is

import vk_api
from parser import vkscript

@vkscript
def inc_status(vk):  # first arg is always VkApiMethod
    x = int(vk.status.get()['text'])  # int gets converted into parseInt
    x = x + 1
    return vk.status.set(text=x)

vk_session = vk_api.VkApi('python@vk.com', 'mypassword')
vk_session.auth(token_only=True)
vk = vk_session.get_api()
print(inc_status(vk))
print(inc_status.orig(vk))  # would call unmodified function

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages