def get_display(self): sobject = self.get_current_sobject() snapshots = [] if isinstance(sobject, Layer): # for layer renders, we try to get all render sobjects renders = Render.get_all_by_sobject(sobject) if renders: snapshots = Snapshot.get_by_sobjects(renders, is_current=True) else: # for object that has direct snapshots like plates snapshot = Snapshot.get_current_by_sobject(sobject) if snapshot: snapshots.append(snapshot) if not snapshots: return "<i>- no files -</i>" div = DivWdg() for snapshot in snapshots: file_types = snapshot.get_all_file_types() table = Table(css='embed') for file_type in file_types: table.add_row() table.add_cell( self.get_open_wdg(snapshot, file_type) ) dir = snapshot.get_client_lib_dir(file_type=file_type) table.add_cell( "%s: <i>%s</i>" % (file_type, dir) ) div.add(table) return div
def get_display(self): sobject = self.get_current_sobject() snapshots = [] if isinstance(sobject, Layer): # for layer renders, we try to get all render sobjects renders = Render.get_all_by_sobject(sobject) if renders: snapshots = Snapshot.get_by_sobjects(renders, is_current=True) else: # for object that has direct snapshots like plates snapshot = Snapshot.get_current_by_sobject(sobject) if snapshot: snapshots.append(snapshot) if not snapshots: return "<i>- no files -</i>" div = DivWdg() for snapshot in snapshots: file_types = snapshot.get_all_file_types() table = Table(css='embed') for file_type in file_types: table.add_row() table.add_cell(self.get_open_wdg(snapshot, file_type)) dir = snapshot.get_client_lib_dir(file_type=file_type) table.add_cell("%s: <i>%s</i>" % (file_type, dir)) div.add(table) return div
def get_paths(my, file_type='main'): search_key = my.kwargs.get("search_key") search_keys = my.kwargs.get("search_keys") paths = my.kwargs.get("paths") if not paths: paths = [] """ if search_keys: sobjects = Search.get_by_search_keys(search_keys) snapshots = Snapshot.get_by_sobjects(sobjects, is_latest=True) file_objects = File.get_by_snapshots(snapshots, file_type='main') paths = [x.get_web_path() for x in file_objects] web_file_objects = File.get_by_snapshots(snapshots, file_type='web') web_paths = [x.get_web_path() for x in web_file_objects] #paths = web_paths for sobject, path in zip(sobjects, paths): my.sobject_data[path] = sobject """ if search_keys: sobjects = Search.get_by_search_keys(search_keys, keep_order=True) # return_dict=True defaults to return the first of each snapshot list # and so works well with is_latest=True if sobjects and sobjects[0].get_base_search_type( ) == "sthpw/snapshot": sobj_snapshot_dict = {} for sobject in sobjects: search_key = sobject.get_search_key() sobj_snapshot_dict[search_key] = sobject snapshots = sobjects else: sobj_snapshot_dict = Snapshot.get_by_sobjects(sobjects, is_latest=True, return_dict=True) snapshots = sobj_snapshot_dict.values() file_dict = Snapshot.get_files_dict_by_snapshots( snapshots, file_type=file_type) for sobject in sobjects: path = '' snapshot = sobj_snapshot_dict.get(sobject.get_search_key()) # it is supposed to get one (latest), just a precaution if isinstance(snapshot, list): snapshot = snapshot[0] if not snapshot: continue file_list = file_dict.get(snapshot.get_code()) if not file_list: continue for file_object in file_list: path = file_object.get_web_path() my.sobject_data[path] = sobject paths.append(path) # set the current path the user clicks on if not my.curr_path and sobject.get_search_key( ) == search_key and file_type == 'main': my.curr_path = path elif paths: return paths else: # TEST paths = [ '/assets/test/store/The%20Boxter_v001.jpg', '/assets/test/store/Another%20one_v001.jpg', '/assets/test/store/Whatever_v001.jpg' ] return paths
def get_paths(self, file_type='main'): # this is the selected one search_key = self.kwargs.get("search_key") search_keys = self.kwargs.get("search_keys") paths = self.kwargs.get("paths") if not paths: paths = [] if search_keys: sobjects = Search.get_by_search_keys(search_keys, keep_order=True) # return_dict=True defaults to return the first of each snapshot list # and so works well with is_latest=True if sobjects and sobjects[0].get_base_search_type() == "sthpw/snapshot": sobj_snapshot_dict = {} for sobject in sobjects: tmp_search_key = sobject.get_search_key() sobj_snapshot_dict[tmp_search_key] = sobject snapshots = sobjects else: sobj_snapshot_dict = Snapshot.get_by_sobjects(sobjects, is_latest=True, return_dict=True) snapshots = sobj_snapshot_dict.values() file_dict = Snapshot.get_files_dict_by_snapshots(snapshots, file_type=file_type) for sobject in sobjects: path = '' snapshot = sobj_snapshot_dict.get(sobject.get_search_key()) # it is supposed to get one (latest), just a precaution if isinstance(snapshot, list): snapshot = snapshot[0] if not snapshot: continue file_list = file_dict.get(snapshot.get_code()) if not file_list: paths.append("") continue # NOTE: there should only be one file tmp_paths = [] for file_object in file_list: path = file_object.get_web_path() if path.find("#") != -1: expanded_paths = snapshot.get_expanded_web_paths() path = "|".join(expanded_paths) tmp_paths.append(path) path = "|".join(tmp_paths) self.sobject_data[path] = sobject paths.append(path) # set the current path the user clicks on if not self.curr_path and sobject.get_search_key() == search_key and file_type=='main': self.curr_path = path elif paths: return paths else: # TEST paths = [ '/assets/test/store/The%20Boxter_v001.jpg', '/assets/test/store/Another%20one_v001.jpg', '/assets/test/store/Whatever_v001.jpg' ] """ for index,path in enumerate(paths): path = urllib.pathname2url(path) paths[index] = path """ return paths
def get_paths(my, file_type='main'): # this is the selected one search_key = my.kwargs.get("search_key") search_keys = my.kwargs.get("search_keys") paths = my.kwargs.get("paths") if not paths: paths = [] """ if search_keys: sobjects = Search.get_by_search_keys(search_keys) snapshots = Snapshot.get_by_sobjects(sobjects, is_latest=True) file_objects = File.get_by_snapshots(snapshots, file_type='main') paths = [x.get_web_path() for x in file_objects] web_file_objects = File.get_by_snapshots(snapshots, file_type='web') web_paths = [x.get_web_path() for x in web_file_objects] #paths = web_paths for sobject, path in zip(sobjects, paths): my.sobject_data[path] = sobject """ if search_keys: sobjects = Search.get_by_search_keys(search_keys, keep_order=True) # return_dict=True defaults to return the first of each snapshot list # and so works well with is_latest=True if sobjects and sobjects[0].get_base_search_type() == "sthpw/snapshot": sobj_snapshot_dict = {} for sobject in sobjects: tmp_search_key = sobject.get_search_key() sobj_snapshot_dict[tmp_search_key] = sobject snapshots = sobjects else: sobj_snapshot_dict = Snapshot.get_by_sobjects(sobjects, is_latest=True, return_dict=True) snapshots = sobj_snapshot_dict.values() file_dict = Snapshot.get_files_dict_by_snapshots(snapshots, file_type=file_type) for sobject in sobjects: path = '' snapshot = sobj_snapshot_dict.get(sobject.get_search_key()) # it is supposed to get one (latest), just a precaution if isinstance(snapshot, list): snapshot = snapshot[0] if not snapshot: continue file_list = file_dict.get(snapshot.get_code()) if not file_list: continue for file_object in file_list: path = file_object.get_web_path() my.sobject_data[path] = sobject paths.append(path) # set the current path the user clicks on if not my.curr_path and sobject.get_search_key() == search_key and file_type=='main': my.curr_path = path elif paths: return paths else: # TEST paths = [ '/assets/test/store/The%20Boxter_v001.jpg', '/assets/test/store/Another%20one_v001.jpg', '/assets/test/store/Whatever_v001.jpg' ] return paths
def get_paths(self, file_type='main'): # this is the selected one search_key = self.kwargs.get("search_key") search_keys = self.kwargs.get("search_keys") paths = self.kwargs.get("paths") if not paths: paths = [] if search_keys: sobjects = Search.get_by_search_keys(search_keys, keep_order=True) # return_dict=True defaults to return the first of each snapshot list # and so works well with is_latest=True if sobjects and sobjects[0].get_base_search_type( ) == "sthpw/snapshot": sobj_snapshot_dict = {} for sobject in sobjects: tmp_search_key = sobject.get_search_key() sobj_snapshot_dict[tmp_search_key] = sobject snapshots = sobjects else: sobj_snapshot_dict = Snapshot.get_by_sobjects(sobjects, is_latest=True, return_dict=True) snapshots = sobj_snapshot_dict.values() file_dict = Snapshot.get_files_dict_by_snapshots( snapshots, file_type=file_type) for sobject in sobjects: path = '' snapshot = sobj_snapshot_dict.get(sobject.get_search_key()) # it is supposed to get one (latest), just a precaution if isinstance(snapshot, list): snapshot = snapshot[0] if not snapshot: continue file_list = file_dict.get(snapshot.get_code()) if not file_list: paths.append("") continue # NOTE: there should only be one file tmp_paths = [] for file_object in file_list: path = file_object.get_web_path() if path.find("#") != -1: expanded_paths = snapshot.get_expanded_web_paths() path = "|".join(expanded_paths) tmp_paths.append(path) path = "|".join(tmp_paths) self.sobject_data[path] = sobject paths.append(path) # set the current path the user clicks on if not self.curr_path and sobject.get_search_key( ) == search_key and file_type == 'main': self.curr_path = path elif paths: return paths else: # TEST paths = [ '/assets/test/store/The%20Boxter_v001.jpg', '/assets/test/store/Another%20one_v001.jpg', '/assets/test/store/Whatever_v001.jpg' ] """ for index,path in enumerate(paths): path = urllib.pathname2url(path) paths[index] = path """ return paths