more meaningful variable naming and compact
This commit is contained in:
@@ -249,10 +249,10 @@ def get_pin_info(pin_id, arg_timestamp_log, arg_force_update, arg_dir, arg_cut,
|
|||||||
print()
|
print()
|
||||||
|
|
||||||
|
|
||||||
def get_board_info(board_name, exclude_section, section, proxies):
|
def get_board_info(board_or_sec_path, exclude_section, section, proxies):
|
||||||
s = get_session(0, proxies)
|
s = get_session(0, proxies)
|
||||||
|
|
||||||
r = s.get('https://www.pinterest.com/{}/'.format(board_name), timeout=15)
|
r = s.get('https://www.pinterest.com/{}/'.format(board_or_sec_path), timeout=15)
|
||||||
root = html.fromstring(r.content)
|
root = html.fromstring(r.content)
|
||||||
tag = root.xpath("//script[@id='initial-state']")[0]
|
tag = root.xpath("//script[@id='initial-state']")[0]
|
||||||
initial_data = json.loads(tag.text)
|
initial_data = json.loads(tag.text)
|
||||||
@@ -987,8 +987,7 @@ def main():
|
|||||||
url_path = args.path.strip().split('?')[0].split('#')[0]
|
url_path = args.path.strip().split('?')[0].split('#')[0]
|
||||||
# Convert % format of unicode url when copied from Firefox
|
# Convert % format of unicode url when copied from Firefox
|
||||||
# This is important especially section need compare the section name later
|
# This is important especially section need compare the section name later
|
||||||
url_path = urllib.parse.unquote_plus(url_path)
|
url_path = urllib.parse.unquote_plus(url_path).rstrip('/')
|
||||||
url_path = url_path.rstrip('/')
|
|
||||||
if '://' in url_path:
|
if '://' in url_path:
|
||||||
url_path = '/'.join( url_path.split('/')[3:] )
|
url_path = '/'.join( url_path.split('/')[3:] )
|
||||||
if not url_path:
|
if not url_path:
|
||||||
@@ -1050,12 +1049,12 @@ def main():
|
|||||||
get_pin_info(pin_id.strip(), args.log_timestamp, args.force, args.dir, args.cut, arg_el, fs_f_max, proxies)
|
get_pin_info(pin_id.strip(), args.log_timestamp, args.force, args.dir, args.cut, arg_el, fs_f_max, proxies)
|
||||||
|
|
||||||
if len(slash_path) == 3:
|
if len(slash_path) == 3:
|
||||||
u_url = '/'.join(slash_path)
|
sec_path = '/'.join(slash_path)
|
||||||
print('[i] Job is download single section by username/boardname/section: {}'.format(u_url))
|
print('[i] Job is download single section by username/boardname/section: {}'.format(sec_path))
|
||||||
# Will err if try to create section by naming 'more_ideas'
|
# Will err if try to create section by naming 'more_ideas'
|
||||||
if ( slash_path[-3] in ('search', 'categories', 'topics') ) or ( slash_path[-1] in ['more_ideas'] ):
|
if ( slash_path[-3] in ('search', 'categories', 'topics') ) or ( slash_path[-1] in ['more_ideas'] ):
|
||||||
return quit('{}'.format('\n[' + x_tag + '] Search, Categories, Topics, more_ideas are not supported.\n') )
|
return quit('{}'.format('\n[' + x_tag + '] Search, Categories, Topics, more_ideas are not supported.\n') )
|
||||||
board = get_board_info(u_url, False, slash_path[-1], proxies) # need_get_section's True/False not used
|
board = get_board_info(sec_path, False, slash_path[-1], proxies) # need_get_section's True/False not used
|
||||||
try:
|
try:
|
||||||
IMGS_SESSION = get_session(2, proxies)
|
IMGS_SESSION = get_session(2, proxies)
|
||||||
IMG_SESSION = get_session(3, proxies)
|
IMG_SESSION = get_session(3, proxies)
|
||||||
@@ -1067,11 +1066,11 @@ def main():
|
|||||||
return quit(traceback.format_exc())
|
return quit(traceback.format_exc())
|
||||||
|
|
||||||
elif len(slash_path) == 2:
|
elif len(slash_path) == 2:
|
||||||
u_url = '/'.join(slash_path)
|
board_path = '/'.join(slash_path)
|
||||||
print('[i] Job is download single board by username/boardname: {}'.format(u_url))
|
print('[i] Job is download single board by username/boardname: {}'.format(board_path))
|
||||||
if slash_path[-2] in ('search', 'categories', 'topics'):
|
if slash_path[-2] in ('search', 'categories', 'topics'):
|
||||||
return quit('{}'.format('\n[' + x_tag + '] Search, Categories and Topics not supported.\n') )
|
return quit('{}'.format('\n[' + x_tag + '] Search, Categories and Topics not supported.\n') )
|
||||||
board, sections = get_board_info(u_url, args.exclude_section, None, proxies)
|
board, sections = get_board_info(board_path, args.exclude_section, None, proxies)
|
||||||
try:
|
try:
|
||||||
IMGS_SESSION = get_session(2, proxies)
|
IMGS_SESSION = get_session(2, proxies)
|
||||||
IMG_SESSION = get_session(3, proxies)
|
IMG_SESSION = get_session(3, proxies)
|
||||||
@@ -1082,8 +1081,8 @@ def main():
|
|||||||
sec_c = len(sections)
|
sec_c = len(sections)
|
||||||
print('[i] Trying to get ' + str(sec_c) + ' section{}'.format('s' if sec_c > 1 else ''))
|
print('[i] Trying to get ' + str(sec_c) + ' section{}'.format('s' if sec_c > 1 else ''))
|
||||||
for sec in sections:
|
for sec in sections:
|
||||||
s_url = u_url + '/' + sec['slug']
|
sec_path = board_path + '/' + sec['slug']
|
||||||
board = get_board_info(s_url, False, sec['slug'], proxies) # False not using bcoz sections not [] already
|
board = get_board_info(sec_path, False, sec['slug'], proxies) # False not using bcoz sections not [] already
|
||||||
fetch_imgs( board, slash_path[-2], slash_path[-1], sec['slug'], args.board_timestamp
|
fetch_imgs( board, slash_path[-2], slash_path[-1], sec['slug'], args.board_timestamp
|
||||||
, args.log_timestamp, args.force, args.dir, args.thread_max
|
, args.log_timestamp, args.force, args.dir, args.thread_max
|
||||||
, IMGS_SESSION, IMG_SESSION, V_SESSION, args.cut, arg_el, fs_f_max )
|
, IMGS_SESSION, IMG_SESSION, V_SESSION, args.cut, arg_el, fs_f_max )
|
||||||
@@ -1115,15 +1114,14 @@ def main():
|
|||||||
if (not args.exclude_section) and (board['section_count'] > 0):
|
if (not args.exclude_section) and (board['section_count'] > 0):
|
||||||
sec_c = board['section_count']
|
sec_c = board['section_count']
|
||||||
print('[i] Trying to get ' + str(sec_c) + ' section{}'.format('s' if sec_c > 1 else ''))
|
print('[i] Trying to get ' + str(sec_c) + ' section{}'.format('s' if sec_c > 1 else ''))
|
||||||
u_url = board['url']
|
|
||||||
# E.g. /example/commodore-computers/ need trim to example/commodore-computers
|
# E.g. /example/commodore-computers/ need trim to example/commodore-computers
|
||||||
u_url = u_url.strip('/')
|
board_path = board['url'].strip('/')
|
||||||
# ags.es placeholder below always False bcoz above already check (not args.exclude_section)
|
# ags.es placeholder below always False bcoz above already check (not args.exclude_section)
|
||||||
board, sections = get_board_info(u_url, False, None, proxies)
|
board, sections = get_board_info(board_path, False, None, proxies)
|
||||||
for sec in sections:
|
for sec in sections:
|
||||||
s_url = u_url + '/' + sec['slug']
|
sec_path = board_path + '/' + sec['slug']
|
||||||
board = get_board_info(s_url, False, sec['slug'], proxies)
|
board = get_board_info(sec_path, False, sec['slug'], proxies)
|
||||||
sec_uname, sec_bname = u_url.split('/')
|
sec_uname, sec_bname = board_path.split('/')
|
||||||
fetch_imgs( board, sec_uname, sec_bname, sec['slug'], args.board_timestamp
|
fetch_imgs( board, sec_uname, sec_bname, sec['slug'], args.board_timestamp
|
||||||
, args.log_timestamp, args.force, args.dir, args.thread_max
|
, args.log_timestamp, args.force, args.dir, args.thread_max
|
||||||
, IMGS_SESSION, IMG_SESSION, V_SESSION, args.cut, arg_el, fs_f_max )
|
, IMGS_SESSION, IMG_SESSION, V_SESSION, args.cut, arg_el, fs_f_max )
|
||||||
|
|||||||
Reference in New Issue
Block a user