def button(self, details): Error.throw_error_bool( 'Object do not have atribut ' + details['name'], hasattr(self.BaseFormShema.BaseView.data, details['name']) is False) Error.throw_error_bool(details['name'] + ' is not method', self.BaseFormShema.is_method(details['name'])) def set_disabled(details): if 'disabled' in details: return details['disabled'] return True name = 'button' self.field_valid(details) if 'is_submit' in details: name = 'button_submit' return { 'disabled': set_disabled(details), 'type': name, 'data_type': "string", 'name': details['place_holder'], 'obj_name': details['name'], 'place_holder': details['place_holder'], 'grid_data': self.create_grid(details), 'click': getattr(self.BaseFormShema.BaseView, details['name']), 'arguments': [] }
def return_mesage_obj(self): Error.throw_error_bool( 'Dialog not exist in ' + self.resolution_index, 'dialog' in self.SetResolution.menu_set[self.resolution_index]) self.BaseView.Massage.set_resolution( self.SetResolution.menu_set[self.resolution_index]['dialog']) return self.BaseView.Massage
def __init__(self, json): for dir in json['dirs']: self.valid_drive(dir['dir']) self.make_dirs(dir['dir']) Error.throw_error_bool(Error.get_error(1), "html_output" in json) Error.throw_error_bool(Error.get_error(1), "movies_photos" in json) if os.path.isdir(json["movies_photos"]) is False: os.mkdir(json["movies_photos"])
def custum_description(self, index, limit_index, text): description_stan = index in self.WindowSize and limit_index in self.WindowSize Error.throw_error_bool( index + " or " + limit_index + " not found in WindowSize ", description_stan) data = self.WindowSize[index] limit = self.WindowSize[limit_index] self.BaseView.description(stringManipupations.short(text, limit), data)
def custum_avatar(self, data): Error.throw_error_bool('Index src not found in data', 'src' in data) Error.throw_error_bool('Index res not found in data', 'src' in data) avatar_photo = QtWidgets.QLabel(self.obj) avatar_photo.setPixmap(QtGui.QPixmap(data['src'])) avatar_photo.setGeometry( QtCore.QRect(data['res'][0], data['res'][1], data['res'][2], data['res'][3])) return avatar_photo
def description(self): description_stan = 'description' in self.WindowSize and 'description_limit' in self.WindowSize Error.throw_error_bool( 'description or description_limit not found in WindowSize ', description_stan) data = self.WindowSize['description'] limit = self.WindowSize['description_limit'] self.BaseView.description( stringManipupations.short(self.data.description, limit), data)
def generate(self): Error.throw_error_bool("input not exist", self.input != "") Error.throw_error_bool("shema_file not exist", self.shema_file != "") with open(self.input) as json_file: data = json.load(json_file) for item in data: print('Generate HTML for ' + str(item['name'])) self.create_file( item['dir'], self.shema_file, data_JSON['project_url'] + '\HTML_Genarator\schema')
def __init__(self, data, Obj): self.data = data self.Obj = Obj.data Error.throw_error_bool( self.Obj.__class__.__name__ + ' do not have atter "' + self.field + '" ', hasattr(self.Obj, self.field)) self.field = getattr(self.Obj, self.field) self.Obj_var = Obj self.session = session self.ViewBaseAction = ViewBaseAction(Obj)
def tags(self): tag_stan = 'tags' in self.WindowSize and 'tags_limit' in self.WindowSize Error.throw_error_bool('tags or tags_limit not found in WindowSize ', tag_stan) data = self.WindowSize['tags'] limit = self.WindowSize['tags_limit'] Error.throw_error_bool('self.data do not have tags ', hasattr(self.data, 'tags')) tags_list = stringManipupations.array_to_string(self.data.tags) self.BaseView.description(stringManipupations.short(tags_list, limit), data)
def custom_title(self, title, rezolution): Error.throw_error_bool(rezolution + ' do not have tags ', rezolution in self.WindowSize) data = self.WindowSize[rezolution] text = "<html><head/><body>" \ "<p align=\"center\">" \ "<span style=\" font-size:18pt;font-weight:600; " \ "text-decoration: none;\">" + title + \ "</span></p></body></html>" self.BaseView.title(data, text)
def create(self): Error.throw_error_bool("input not exist", self.input != "") with open(self.input) as json_file: data = json.load(json_file) for movie in data: if Path(movie["dir"] + '\db.js').is_file() is True: os.remove(movie["dir"] + '\db.js') f = open(movie["dir"] + '\db.js', "x") string = 'var data = ' + str(self.defult_add(movie)) f.write(string) f.close()
def custum_scroll_bar(self, data): list = QListWidget(self.BaseView) scroll_bar = QScrollBar(self.BaseView) list.setVerticalScrollBar(scroll_bar) Error.throw_error_bool(Error.get_error(9), 'res' in data) Error.throw_error_bool(Error.get_error(11), 'objects' in data) list.setGeometry(data['res'][0], data['res'][1], data['res'][2], data['res'][3]) for el in data['objects']: item = QListWidgetItem(el) list.addItem(item) return list
def custum_form(self, FormSchema, index, ModelView=None): Error.throw_error_bool(Error.get_error(6), issubclass(FormSchema, BaseFormShema)) FormSchemaObj = FormSchema(self) buttons = FormSchemaObj.return_from_section() Error.throw_error_bool( 'Index ' + index + ' not found in ' + self.resolution_index, index in self.WindowSize) data_line = self.WindowSize[index] if ModelView: self.Submit = Submit(ModelView, self.data, self) self.FormSection.form_section(data_line, buttons)
def combo_box(self, details): self.field_valid(details) Error.throw_error_bool('combo_box_list is not exist', 'combo_box_list' in details) db = self.set_db(details) return { 'db': db, 'type': 'combo_box', 'data_type': "", 'name': details['name'], 'place_holder': details['place_holder'], 'combo_box_list': details['combo_box_list'], 'grid_data': self.create_grid(details) }
def set_placeholder(self, details): place_holder = '' if hasattr(self.BaseFormShema.BaseView.data, details['name']): place_holder = self.BaseFormShema.set_value_if_exist( getattr(self.BaseFormShema.BaseView.data, details['name']), details['name']) if self.if_model(details) and 'custum_name' in details: Error.throw_error_bool( details['custum_name'] + ' not exist in object ' + str(self.BaseFormShema.BaseView.data), 'custum_name' in details) place_holder = details['custum_name'] else: place_holder = details['custum_name'] return place_holder
def set_mode(self, mode): modes = ["reset", "Off all", "HTML", "add", 'all', "screenshot", "HTML&JSOM", "Run"] error = mode in modes mes = 'Invalid ' + mode + ' Mode available "normal","reset","Off all","HTML&JSOM", "add" ,"all","screenshot",Run' Error.throw_error_bool(mes, error) setings_array = { "reset": ResetMode(self.setings), "Off all": OffAll(self.setings), "HTML": HTML(self.setings), "add": Add(self.setings), "all": All(self.setings), "screenshot": Screenshot(self.setings), "HTML&JSOM": HTMLJSOM(self.setings), "Run": Run(self.setings) } self.Mode = setings_array[mode]
def set_resolution(self,data): Error.throw_error_bool('Index position not exist in dialog ('+str(data)+')','position' in data) self.rezolution_pos=data['position'] Error.throw_error_bool('Index label not exist in dialog ('+str(data)+')', 'label' in data) self.rezolution_label = data['label'] Error.throw_error_bool('Index label not exist in dialog ('+str(data)+')', 'acept' in data) self.rezolution_acept = data['acept'] Error.throw_error_bool('Index cancel not exist in dialog ('+str(data)+')', 'cancel' in data) self.rezolution_cancel = data['cancel']
def custum_button(self, data): Error.throw_error_bool(Error.get_error(7), 'click_btm_info' in data) Error.throw_error_bool(Error.get_error(8), 'res' in data) Error.throw_error_bool(Error.get_error(9), 'click_method' in data) button = QtWidgets.QPushButton(self.BaseView) button.setGeometry(data['res'][0], data['res'][1], data['res'][2], data['res'][3]) button.setText(data['click_btm_info']) if 'font' in data: Error.throw_error_bool(Error.get_error(10), len(data) != 2) button.setFont(QFont(data['font'][0], data['font'][1])) button.clicked.connect(data['click_method'])
def set_dir_for_star(name: object) -> object: letter_of_movie = name[0] Error.throw_error_bool( "First letter of star can not be 'space' (" + str(name) + ") !!", letter_of_movie != " ") letter = letter_of_movie.upper() dir = '' if letter == 'A' or letter == 'B' or letter == 'C' or letter == 'D': dir = data_JSON['dirs'][0]['dir'] + '\\A-D\\' + name if letter == 'E' or letter == 'F' or letter == 'G' or letter == 'H': dir = data_JSON['dirs'][0]['dir'] + '\\E-H\\' + name if letter == 'I' or letter == 'J' or letter == 'K' or letter == 'L': dir = data_JSON['dirs'][0]['dir'] + '\\I-L\\' + name if letter == 'M' or letter == 'N' or letter == 'O' or letter == 'P' or letter == 'Q': dir = data_JSON['dirs'][0]['dir'] + '\\M-P\\' + name if letter == 'R' or letter == 'S' or letter == 'T' or letter == 'U': dir = data_JSON['dirs'][0]['dir'] + '\\R-U\\' + name if letter == 'W' or letter == 'V' or letter == 'X' or letter == 'Y' or letter == 'Z': dir = data_JSON['dirs'][0]['dir'] + '\\W-Z\\' + name return dir
def galery_from_array(self, array, index, index_size, row): Error.throw_error_bool('Index "' + index + '" not found!', index in self.WindowSize) Error.throw_error_bool('Index "' + index_size + '" not found!', index_size in self.WindowSize) Error.throw_error_bool('Index "' + row + '" not found!', row in self.WindowSize) def stars_array(): new_code = [] for star in array: new_code.append(star.avatar) return new_code self.BaseView.galery_from_array(self.WindowSize[index], self.WindowSize[index_size], self.WindowSize[row], stars_array())
def form_section(self): Error.throw_error_bool( 'class self.FormSchema is not subclass of BaseFormSection', issubclass(self.FormSchema, BaseFormShema)) if self.model_view_off is False: Error.throw_error_is_none( 'self.ModelView is required for form section !', self.ModelView) Error.throw_error_bool( 'class self.ModelView is not subclass of BaseModelViewSet', issubclass(self.ModelView, BaseModelViewSet)) self.FormSchemaObj = self.FormSchema(self) Error.throw_error_bool( 'Index form_section not found in ' + self.resolution_index, 'form_section' in self.WindowSize) data_line = self.WindowSize['form_section'] buttons = self.FormSchemaObj.return_from_section() if self.model_view_off is False: self.Submit = Submit(self.ModelView, self.data, self) self.FormSection.form_section(data_line, buttons)
def __init__(self): if self.model is not None: Error.throw_error_bool(Error.get_error(3), issubclass(self.model, BaseModel)) self.BaseView = BaseView([], self) self.BaseView.list_view_type = self.show_list self.FormSection = FormSection(self) self.BaseActions = ViewBaseAction(self) self.SetResolution = SetResolution(self) self._set_resolution() if self.Info is not None: Error.throw_error_bool(Error.get_error(4), issubclass(self.Info, BaseInfo)) self.InfoObj = self.Info(self) if self.Nav is not None: Error.throw_error_bool(Error.get_error(5), issubclass(self.Nav, BaseNav)) self._NavObj = self.Nav(self)
def valid_drive(self, dir): name = dir.split('\\') dir_error = os.path.isdir(name[0]) Error.throw_error_bool( Error.add_data_to_error(Error.get_error(2), '{{data}}', name[0]), dir_error)
def get_dialog_location(self): Error.throw_error_bool( "Dialog not exist in resolution index " + self.resolution_index, "dialog" in self.SetResolution.menu_set[self.resolution_index]) return self.SetResolution.menu_set[self.resolution_index]['dialog']
def click(self, data): Error.throw_error_bool( 'Function ' + data['function'] + ' not found in ' + data['obj'].__class__.__name__ + '', hasattr(data['obj'], data['function'])) return getattr(data['obj'], data['function'])
def check_info(self): Error.throw_error_is_none('self.Info is required for info Section!', self.Info) Error.throw_error_bool('class self.Info is not subclass of BaseInfo', issubclass(self.Info, BaseInfo))
def valid_drive(self,dir): name = dir.split('\\') dir_error = os.path.isdir(name[0]) Error.throw_error_bool('Drive ' + name[0] + ' not exist please check if is crypt ! ', dir_error)
def field_valid(self, details, fields=[]): Error.throw_error_bool('Row not exist in details ', 'row' in details) Error.throw_error_bool('Coll not exist in details ', 'coll' in details) Error.throw_error_bool('Place holder not exist in details ', 'place_holder' in details) Error.throw_error_bool('Name not exist in details ', 'name' in details)