def get_account_info(self, access_token, fields=['short_name', 'author_name', 'author_url']): '''Obtiene información de la cuenta. Este método permite obtener información de dicha cuenta. Para esto, tenéis que especificar en la tupla `fields` el campo requerido o los campos requerido. Los campos disponibles son: - short_name - author_name - author_url - auth_url - page_count :param access_token: token de acceso a la cuenta de telegraph. :param fields: tupla que contiene una lista de string con los campos requeridos. Ejemplo: >>> get_account_info(access_token=..., fields=('auth_url', 'page_count')) ''' try: dictionary = worker.exchange(method='getAccountInfo', access_token=access_token, fields=fields) new_got_account = elements.Account(None, None, None) new_got_account.to_import(dictionary) return new_got_account except worker.ErrorWorker as e: logger.error( 'No puedo obtener la información de esta cuenta [%s]: %s' % (e.function, e.result)) raise e
def edit_account_info(self, access_token, short_name=None, author_name=None, author_url=None): '''Edita la información de una cuenta. Con este método podéis editar la información de un cuenta en Telegraph, los argumentos que tengan valor `None` no serán enviados, por eso, sólo los valores recibidos serán editados. :param access_token: token de acceso a la cuenta de telegraph. :param short_name: si es definido, cambiamos el short_name. :param author_name: si es definido, cambiamos el author_name. :param author_url: si es definido, cambiamos el author_url. ''' try: dictionary = worker.exchange(method='editAccountInfo', access_token=access_token, short_name=short_name, author_name=author_name, author_url=author_url) new_edited_account = elements.Account(None, None, None) new_edited_account.to_import(dictionary) return new_edited_account except worker.ErrorWorker as e: logger.error('No puedo editar la cuenta nueva [%s]: %s' % (e.function, e.result)) raise e
def create_account(self, short_name, author_name, author_url='https://telegra.ph/api'): '''Crea una cuenta nueva en Telegraph. Con este método podéis crear un cuenta nueva. Será retorndo un objeto `Account`, el cual tendrá también un `access_token`: útil para realizar cambios futuros. :param short_name: corto nombre usado para la identificación interna. :param author_name: nombre usado en cada artículo. :param author_url: URL que hace referencia al autor. ''' try: dictionary = worker.exchange(method='createAccount', short_name=short_name, author_name=author_name, author_url=author_url) new_account = elements.Account(None, None, None) new_account.to_import(dictionary) self.access_token = new_account.access_token return new_account except worker.ErrorWorker as e: logger.error('No puedo crear la cuenta nueva [%s]: %s' % (e.function, e.result)) raise e
def get_page_list(self, access_token, offset=0, limit=50): '''Permite obtener una lista de páginas de dicha cuenta. Retorna una lista, ordenada por orden de creación, perteneciente a la cuenta de Telegraph. Lo retorna mediante un objeto `PageList`. :param access_token: token de acceso a la cuenta de telegraph. :param offset: número secuencial de la primera página a devolver. :param limit: limites de página a devolver. ''' try: dictionary = worker.exchange(method='getPageList', access_token=access_token, offset=offset, limit=limit) new_page_list = elements.PageList(**dictionary) #new_page_list = elements.PageList( # total_count=dictionary['total_count'], # pages=dictionary['pages'] #) return new_page_list except worker.ErrorWorker as e: logger.error('No puedo obtener la lista de páginas [%s]: %s' % (e.function, e.result)) raise e
def create_page(self, access_token, title, author_name, author_url, content, return_content=False): '''Crea una nueva página/artículo. Permite crear un nuevo artículo, con los datos enviados. Si return_content es `True`, será retornado un objeto `Page`. :param access_token: token de acceso a la cuenta de telegraph. :param title: título del artículo. :param author_name: nombre a mostrar del autor. :param author_url: URL del perfil del autor. :param content: lista de objetos `Node`, ver http://telegra.ph/api#Node :param return_content: toma valor `True` para retornar un objeto `Page`. Es `False` por defecto. ''' try: dictionary = worker.exchange(method='createPage', access_token=access_token, title=title, author_name=author_name, author_url=author_url, content=content, return_content=return_content) new_page = elements.Page(None, None, None, None) new_page.to_import(dictionary) return new_page except worker.ErrorWorker as e: logger.error('No puedo obtener las vistas [%s]: %s' % (e.function, e.result)) raise e
def revoke_access_token(self, access_token): '''Cambia el token de una cuenta de Telegraph. Este método recibe el anterior token de la cuenta de Telegraph y retorna uno nuevo. :param access_token: token antigua de la cuenta de telegraph. ''' try: dictionary = worker.exchange(method='revokeAccessToken', access_token=access_token) new_token = dictionary['access_token'] new_auth_url = dictionary['auth_url'] return (new_token, new_auth_url) except worker.ErrorWorker as e: logger.error('No puedo revocar token [%s]: %s' % (e.function, e.result)) raise e