本文整理汇总了Python中past.model.user.UserAlias.get_by_user_and_type方法的典型用法代码示例。如果您正苦于以下问题:Python UserAlias.get_by_user_and_type方法的具体用法?Python UserAlias.get_by_user_and_type怎么用?Python UserAlias.get_by_user_and_type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类past.model.user.UserAlias
的用法示例。
在下文中一共展示了UserAlias.get_by_user_and_type方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_client
# 需要导入模块: from past.model.user import UserAlias [as 别名]
# 或者: from past.model.user.UserAlias import get_by_user_and_type [as 别名]
def get_client(cls, user_id):
alias = UserAlias.get_by_user_and_type(user_id,
config.OPENID_TYPE_DICT[config.OPENID_QQ])
if not alias:
return None
return cls(alias.alias)
示例2: get_client
# 需要导入模块: from past.model.user import UserAlias [as 别名]
# 或者: from past.model.user.UserAlias import get_by_user_and_type [as 别名]
def get_client(cls, user_id):
alias = UserAlias.get_by_user_and_type(user_id, config.OPENID_TYPE_DICT[config.OPENID_DOUBAN])
if not alias:
return None
token = OAuth2Token.get(alias.id)
if not token:
return None
return cls(alias.alias, token.access_token, token.refresh_token)
示例3: sync
# 需要导入模块: from past.model.user import UserAlias [as 别名]
# 或者: from past.model.user.UserAlias import get_by_user_and_type [as 别名]
def sync(t, old=False):
if not t:
print 'no such task'
return 0
log.info("the sync task is :%s" % t)
try:
alias = None
provider = category2provider(t.category)
if provider == config.OPENID_DOUBAN:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_DOUBAN])
elif provider == config.OPENID_SINA:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_SINA])
elif provider == config.OPENID_TWITTER:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_TWITTER])
elif provider == config.OPENID_QQ:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_QQ])
if not alias:
log.warn("no alias...")
return 0
token = OAuth2Token.get(alias.id)
if not token:
log.warn("no access token, break...")
return 0
client = None
if provider == config.OPENID_DOUBAN:
client = Douban(alias.alias, token.access_token, token.refresh_token)
elif provider == config.OPENID_SINA:
client = SinaWeibo(alias.alias, token.access_token)
elif provider == config.OPENID_TWITTER:
client = Twitter(alias.alias)
elif provider == config.OPENID_QQ:
client = QQWeibo(alias.alias)
if not client:
log.warn("get client fail, break...")
return 0
if t.category == config.CATE_DOUBAN_NOTE:
if old:
start = Status.get_count_by_cate(t.category, t.user_id)
else:
start = 0
note_list = client.get_notes(start, 50)
if note_list:
for x in note_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(note_list)
elif t.category == config.CATE_DOUBAN_MINIBLOG:
if old:
start = Status.get_count_by_cate(t.category, t.user_id)
else:
start = 0
miniblog_list = client.get_miniblogs(start, 50)
if miniblog_list:
for x in miniblog_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(miniblog_list)
elif t.category == config.CATE_DOUBAN_STATUS:
origin_min_id = Status.get_min_origin_id(t.category, t.user_id)
if old:
log.info("will get douban status order than %s..." % origin_min_id)
status_list = client.get_timeline(until_id=origin_min_id)
else:
log.info("will get douban status newer than %s..." % origin_min_id)
status_list = client.get_timeline(since_id=origin_min_id, count=20)
if status_list:
log.info("get douban status succ, len is %s" % len(status_list))
for x in status_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
elif t.category == config.CATE_SINA_STATUS:
origin_min_id = Status.get_min_origin_id(t.category, t.user_id) #means max_id
if old:
log.info("will get sinaweibo order than %s..." % origin_min_id)
status_list = client.get_timeline(until_id=origin_min_id)
## 如果根据max_id拿不到数据,那么根据page再拿一次
if len(status_list) <= 1:
downloaded_status_count = Status.get_count_by_user(t.user_id)
page = downloaded_status_count / 100 + 2
status_list = client.get_timeline_by_page(page=page)
else:
log.info("will get sinaweibo newer than %s..." % origin_min_id)
status_list = client.get_timeline(since_id=origin_min_id, count=20)
if status_list:
log.info("get sinaweibo succ, len is %s" % len(status_list))
for x in status_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(status_list)
elif t.category == config.CATE_TWITTER_STATUS:
origin_min_id = Status.get_min_origin_id(t.category, t.user_id)
if old:
log.info("will get tweets order than %s..." % origin_min_id)
status_list = client.get_timeline(max_id=origin_min_id)
else:
log.info("will get tweets newer than %s..." % origin_min_id)
#.........这里部分代码省略.........
示例4: sync
# 需要导入模块: from past.model.user import UserAlias [as 别名]
# 或者: from past.model.user.UserAlias import get_by_user_and_type [as 别名]
def sync(t, old=False):
alias = None
provider = category2provider(t.category)
if provider == config.OPENID_DOUBAN:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_DOUBAN])
elif provider == config.OPENID_SINA:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_SINA])
elif provider == config.OPENID_TWITTER:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_TWITTER])
elif provider == config.OPENID_QQ:
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[config.OPENID_QQ])
if not alias:
log.warn("no alias...")
return 0
token = OAuth2Token.get(alias.id)
if not token:
log.warn("no access token, break...")
return 0
client = None
if provider == config.OPENID_DOUBAN:
client = Douban(alias.alias, token.access_token, token.refresh_token)
elif provider == config.OPENID_SINA:
client = SinaWeibo(alias.alias, token.access_token)
elif provider == config.OPENID_TWITTER:
client = Twitter(alias.alias)
elif provider == config.OPENID_QQ:
client = QQWeibo(alias.alias)
if not client:
log.warn("get client fail, break...")
return 0
if t.category == config.CATE_DOUBAN_NOTE:
if old:
start = Status.get_count_by_cate(t.category, t.user_id)
else:
start = 0
note_list = client.get_notes(start, 50)
if note_list:
for x in note_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(note_list)
elif t.category == config.CATE_DOUBAN_MINIBLOG:
if old:
start = Status.get_count_by_cate(t.category, t.user_id)
else:
start = 0
miniblog_list = client.get_miniblogs(start, 50)
if miniblog_list:
for x in miniblog_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(miniblog_list)
elif t.category == config.CATE_DOUBAN_STATUS or t.category == config.CATE_SINA_STATUS:
if old:
until_id = Status.get_min_origin_id(t.category, t.user_id) #means max_id
status_list = client.get_timeline(until_id=until_id)
else:
since_id = Status.get_min_origin_id(t.category, t.user_id)
status_list = client.get_timeline(since_id=since_id)
if status_list:
for x in status_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(status_list)
elif t.category == config.CATE_TWITTER_STATUS:
if old:
until_id = Status.get_min_origin_id(t.category, t.user_id) #means max_id
status_list = client.get_timeline(max_id=until_id)
else:
since_id = Status.get_min_origin_id(t.category, t.user_id)
status_list = client.get_timeline(since_id=since_id)
if status_list:
for x in status_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(status_list)
elif t.category == config.CATE_QQWEIBO_STATUS:
if old:
oldest_create_time = Status.get_oldest_create_time(t.category, t.user_id)
oldest_create_time = datetime2timestamp(oldest_create_time)
status_list = client.get_old_timeline(oldest_create_time, reqnum=200)
else:
status_list = client.get_new_timeline(reqnum=20)
if status_list:
for x in status_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(status_list)
return 0
示例5: sync
# 需要导入模块: from past.model.user import UserAlias [as 别名]
# 或者: from past.model.user.UserAlias import get_by_user_and_type [as 别名]
def sync(t, old=False):
if not t:
print 'no such task'
return 0
log.info("the sync task is :%s" % t)
try:
alias = None
provider = category2provider(t.category)
alias = UserAlias.get_by_user_and_type(t.user_id,
config.OPENID_TYPE_DICT[provider])
if not alias:
log.warn("no alias...")
return 0
token = OAuth2Token.get(alias.id)
if not token:
log.warn("no access token, break...")
return 0
client = None
if provider == config.OPENID_DOUBAN:
client = Douban.get_client(alias.user_id)
elif provider == config.OPENID_SINA:
client = SinaWeibo.get_client(alias.user_id)
elif provider == config.OPENID_TWITTER:
client = TwitterOAuth1.get_client(alias.user_id)
elif provider == config.OPENID_QQ:
client = QQWeibo.get_client(alias.user_id)
elif provider == config.OPENID_RENREN:
client = Renren.get_client(alias.user_id)
elif provider == config.OPENID_INSTAGRAM:
client = Instagram.get_client(alias.user_id)
if not client:
log.warn("get client fail, break...")
return 0
if t.category == config.CATE_DOUBAN_NOTE:
if old:
start = Status.get_count_by_cate(t.category, t.user_id)
else:
start = 0
note_list = client.get_notes(start, 50)
if note_list:
for x in note_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(note_list)
elif t.category == config.CATE_DOUBAN_MINIBLOG:
if old:
start = Status.get_count_by_cate(t.category, t.user_id)
else:
start = 0
miniblog_list = client.get_miniblogs(start, 50)
if miniblog_list:
for x in miniblog_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(miniblog_list)
elif t.category == config.CATE_DOUBAN_STATUS:
origin_min_id = Status.get_min_origin_id(t.category, t.user_id)
if old:
log.info("will get douban status order than %s..." % origin_min_id)
status_list = client.get_timeline(until_id=origin_min_id)
else:
log.info("will get douban status newer than %s..." % origin_min_id)
status_list = client.get_timeline(since_id=origin_min_id, count=20)
if status_list:
log.info("get douban status succ, len is %s" % len(status_list))
for x in status_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
elif t.category == config.CATE_SINA_STATUS:
origin_min_id = Status.get_min_origin_id(t.category, t.user_id) #means the earliest id
origin_max_id = Status.get_max_origin_id(t.category, t.user_id) #meas the latest id
if old:
log.info("will get sinaweibo order than %s..." % origin_min_id)
status_list = client.get_timeline(until_id=origin_min_id)
## 如果根据max_id拿不到数据,那么根据page再fetch一次或者until_id - 1
if status_list and len(status_list) < 20 and origin_min_id is not None:
log.info("again will get sinaweibo order than %s..." % (int(origin_min_id)-1))
status_list = client.get_timeline(until_id=int(origin_min_id)-1)
else:
log.info("will get sinaweibo newer than %s..." % origin_max_id)
status_list = client.get_timeline(since_id=origin_max_id, count=50)
if status_list:
log.info("get sinaweibo succ, len is %s" % len(status_list))
for x in status_list:
Status.add_from_obj(t.user_id, x, json_encode(x.get_data()))
return len(status_list)
elif t.category == config.CATE_TWITTER_STATUS:
origin_min_id = Status.get_min_origin_id(t.category, t.user_id)
origin_max_id = Status.get_max_origin_id(t.category, t.user_id)
if old:
log.info("will get tweets order than %s..." % origin_min_id)
status_list = client.get_timeline(max_id=origin_min_id)
else:
log.info("will get tweets newer than %s..." % origin_max_id)
status_list = client.get_timeline(since_id=origin_max_id, count=50)
if status_list:
log.info("get tweets succ, len is %s" % len(status_list))
for x in status_list:
#.........这里部分代码省略.........