comparison src/pages/files/list/page_meta.py @ 1113:cdd389ef97bc

server: code style reformatting using black
author Goffi <goffi@goffi.org>
date Fri, 29 Jun 2018 17:45:26 +0200
parents 2dab7692eae7
children
comparison
equal deleted inserted replaced
1112:f287fc8bb31a 1113:cdd389ef97bc
8 from libervia.server import pages_tools 8 from libervia.server import pages_tools
9 from sat.core.log import getLogger 9 from sat.core.log import getLogger
10 from sat.tools.common import uri 10 from sat.tools.common import uri
11 import json 11 import json
12 import os 12 import os
13 log = getLogger('pages/files/list') 13
14 log = getLogger("pages/files/list")
14 """files handling pages""" 15 """files handling pages"""
15 16
16 name = u'files_list' 17 name = u"files_list"
17 access = C.PAGES_ACCESS_PROFILE 18 access = C.PAGES_ACCESS_PROFILE
18 template = u"file/overview.html" 19 template = u"file/overview.html"
19 20
21
20 def parse_url(self, request): 22 def parse_url(self, request):
21 self.getPathArgs(request, ['service', '*path'], min_args=1, service='jid', path='') 23 self.getPathArgs(request, ["service", "*path"], min_args=1, service="jid", path="")
24
22 25
23 @defer.inlineCallbacks 26 @defer.inlineCallbacks
24 def prepare_render(self, request): 27 def prepare_render(self, request):
25 data = self.getRData(request) 28 data = self.getRData(request)
26 thumb_limit = data.get('thumb_limit', 300) 29 thumb_limit = data.get("thumb_limit", 300)
27 template_data = request.template_data 30 template_data = request.template_data
28 service, path_elts = data[u'service'], data[u'path'] 31 service, path_elts = data[u"service"], data[u"path"]
29 path = u'/'.join(path_elts) 32 path = u"/".join(path_elts)
30 profile = self.getProfile(request) or C.SERVICE_PROFILE 33 profile = self.getProfile(request) or C.SERVICE_PROFILE
31 34
32 files_data = yield self.host.bridgeCall('FISList', service.full(), path, {}, profile) 35 files_data = yield self.host.bridgeCall("FISList", service.full(), path, {}, profile)
33 for file_data in files_data: 36 for file_data in files_data:
34 try: 37 try:
35 extra_raw = file_data[u'extra'] 38 extra_raw = file_data[u"extra"]
36 except KeyError: 39 except KeyError:
37 pass 40 pass
38 else: 41 else:
39 file_data[u'extra'] = json.loads(extra_raw) if extra_raw else {} 42 file_data[u"extra"] = json.loads(extra_raw) if extra_raw else {}
40 dir_path = path_elts + [file_data['name']] 43 dir_path = path_elts + [file_data["name"]]
41 if file_data[u'type'] == C.FILE_TYPE_DIRECTORY: 44 if file_data[u"type"] == C.FILE_TYPE_DIRECTORY:
42 page = self 45 page = self
43 elif file_data[u'type'] == C.FILE_TYPE_FILE: 46 elif file_data[u"type"] == C.FILE_TYPE_FILE:
44 page = self.getPageByName('files_view') 47 page = self.getPageByName("files_view")
45 48
46 ## thumbnails ## 49 ## thumbnails ##
47 try: 50 try:
48 thumbnails = file_data[u'extra']['thumbnails'] 51 thumbnails = file_data[u"extra"]["thumbnails"]
49 if not thumbnails: 52 if not thumbnails:
50 raise KeyError 53 raise KeyError
51 except KeyError: 54 except KeyError:
52 pass 55 pass
53 else: 56 else:
54 thumbnails.sort(key = lambda t: t['size']) 57 thumbnails.sort(key=lambda t: t["size"])
55 thumb = thumbnails[0] 58 thumb = thumbnails[0]
56 for thumb_data in thumbnails: 59 for thumb_data in thumbnails:
57 if thumb_data['size'][0] > thumb_limit: 60 if thumb_data["size"][0] > thumb_limit:
58 break 61 break
59 thumb = thumb_data 62 thumb = thumb_data
60 if u'url' in thumb: 63 if u"url" in thumb:
61 file_data['thumb_url'] = thumb['url'] 64 file_data["thumb_url"] = thumb["url"]
62 elif u'id' in thumb: 65 elif u"id" in thumb:
63 try: 66 try:
64 thumb_path = yield self.host.bridgeCall('bobGetFile', service.full(), thumb[u'id'], profile) 67 thumb_path = yield self.host.bridgeCall(
68 "bobGetFile", service.full(), thumb[u"id"], profile
69 )
65 except Exception as e: 70 except Exception as e:
66 log.warning(_(u"Can't retrieve thumbnail: {reason}").format(reason=e)) 71 log.warning(
72 _(u"Can't retrieve thumbnail: {reason}").format(reason=e)
73 )
67 else: 74 else:
68 filename = os.path.basename(thumb_path) 75 filename = os.path.basename(thumb_path)
69 session_data = self.host.getSessionData(request, session_iface.ISATSession) 76 session_data = self.host.getSessionData(
70 file_data['thumb_url'] = os.path.join(session_data.cache_dir, filename) 77 request, session_iface.ISATSession
78 )
79 file_data["thumb_url"] = os.path.join(
80 session_data.cache_dir, filename
81 )
71 else: 82 else:
72 raise ValueError(u'unexpected file type: {file_type}'.format(file_type=file_data[u'type'])) 83 raise ValueError(
73 file_data[u'url'] = page.getURL(service.full(), *dir_path) 84 u"unexpected file type: {file_type}".format(file_type=file_data[u"type"])
85 )
86 file_data[u"url"] = page.getURL(service.full(), *dir_path)
74 87
75 ## comments ## 88 ## comments ##
76 comments_url = file_data.get(u'comments_url') 89 comments_url = file_data.get(u"comments_url")
77 if comments_url: 90 if comments_url:
78 parsed_url = uri.parseXMPPUri(comments_url) 91 parsed_url = uri.parseXMPPUri(comments_url)
79 comments_service = file_data[u'comments_service'] = parsed_url['path'] 92 comments_service = file_data[u"comments_service"] = parsed_url["path"]
80 comments_node = file_data[u'comments_node'] = parsed_url['node'] 93 comments_node = file_data[u"comments_node"] = parsed_url["node"]
81 try: 94 try:
82 comments_count = file_data[u'comments_count'] = int(file_data['comments_count']) 95 comments_count = file_data[u"comments_count"] = int(
96 file_data["comments_count"]
97 )
83 except KeyError: 98 except KeyError:
84 comments_count = None 99 comments_count = None
85 if comments_count and data.get('retrieve_comments', False): 100 if comments_count and data.get("retrieve_comments", False):
86 file_data[u'comments'] = yield pages_tools.retrieveComments(self, 101 file_data[u"comments"] = yield pages_tools.retrieveComments(
87 comments_service, 102 self, comments_service, comments_node, profile=profile
88 comments_node, 103 )
89 profile=profile)
90 104
91 template_data[u'files_data'] = files_data 105 template_data[u"files_data"] = files_data
92 template_data[u'path'] = path 106 template_data[u"path"] = path
93 if path_elts: 107 if path_elts:
94 template_data[u'parent_url'] = self.getURL(service.full(), *path_elts[:-1]) 108 template_data[u"parent_url"] = self.getURL(service.full(), *path_elts[:-1])
95