def set_avatar(self): if 'avatar_size' in self.WindowSize: self.BaseView.avatar(self.WindowSize['avatar_size'], self, self.data.avatar) else: Error.throw_error('avatar_size not found in resolution index (' + self.resolution_index + ')')
def edit(self): if hasattr(self.obj, 'edit_view'): self.obj.BaseView.load_view(self.obj.edit_view, self.obj.data) else: Error.throw_error( self.obj.__class__.__name__ + ' do not have atter "edit_view" ', False)
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 list_view_def(self): if len(self.list_view): data = self.WindowSize['list_view_size'] Error.throw_error_is_none( "List_data is None 'use method set_list_view_data'", self.list_data) self.BaseView.listView(data, self.list_data, self.list_view, self)
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 reset(self): if hasattr(self.obj, 'reset_view'): self.obj.close() self.obj.BaseView.load_view(self.obj.reset_view, self.obj.data) else: Error.throw_error( self.obj.__class__.__name__ + ' do not have atter "reset_view" ', False)
def get_nav(self): self._NavObj.set_data(self.data) if 'navbar' in self.WindowSize: data = self.WindowSize['navbar'] self.BaseView.set_nav(data, self._NavObj.set_nav()) else: Error.throw_error('navbar not found in resolution index (' + self.resolution_index + ')')
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 returnObj(self, object): from view.config.config_data_json import JSONConfigView from view.config.RaportView import RaportView from view.galery.edit_galery import EditGaleryMovieView from view.menu.advande_search import AdvanceSearch from view.menu.menu import Menu from view.movie.add_movie import AddMovieView from view.movie.config_movie import ConfigMoviesView from view.movie.edit_movie import EditMovieView from view.movie.movie import MovieView from view.movie.set_photos_for_movies import SetPhotosForMovies from view.producent.producent_view import ProducentView from view.series.editseries import EditSeries from view.series.series import SerieView from view.SeriesMovieListView.MovieListView import MovieListView from view.set_photo_to_series.set_photo_to_series import \ SetPhotoToSeries from view.star.add_star_to_model import (MovieAddStarToModelView, SeriesAddStarToModelView) from view.star.edit_star import EditStarView from view.star.stars import StarView from view.tags.add_tags import (MoviesAddTagView, SeriesAddTagView, StarsAddTagView) from view.VCSCAN.config_scan import ConfigScan from view.VCSCAN.movie_scan import MovieScanInfo switcher = { 'set_photos_for_movies': SetPhotosForMovies(), 'ConfigScan': ConfigScan(), 'MovieScanInfo': MovieScanInfo(), 'movies-config': ConfigMoviesView(), 'JSONCONFIG': JSONConfigView(), 'raport': RaportView(), 'stars_add_tag_view': StarsAddTagView(), 'movies_add_tag_view': MoviesAddTagView(), 'series_add_tag_view': SeriesAddTagView(), 'advance_search': AdvanceSearch(), 'menu': Menu(), 'edit_movie': EditMovieView(), 'set_photo_to_series': SetPhotoToSeries(), 'stars': StarView(), 'edit_series': EditSeries(), 'edit_star': EditStarView(), 'movies': MovieView(), 'series': SerieView(), 'add_movie': AddMovieView(), 'movie_list': MovieListView(), 'play': Player(), 'movie_add_star_to_model_view': MovieAddStarToModelView(), 'series_add_star_to_model_view': SeriesAddStarToModelView(), 'edit_galery_movie_view': EditGaleryMovieView(), 'producent': ProducentView() } get = switcher.get(object, "Invalid data") if get == 'Invalid data': Error.throw_error('Viev ' + object + ' not found') return switcher.get(object, "Invalid data")
def info(self): if "info_size" in self.WindowSize: data = self.WindowSize['info_size'] rows = ['itemNmae', 'itemName2'] inf_data = self.InfoObj.return_data() self.BaseView.info(inf_data, data, rows) else: Error.throw_error('info_size not found in resolution index (' + self.resolution_index + ')')
def add_data_to_model(self): self.Model.add_data(self.data) self.Obj.close() if self.Obj.data is not None: if hasattr(self.Obj, 'submit_view'): self.Obj.BaseView.load_view(self.Obj.submit_view, self.Obj.data) else: Error.throw_error(self.Obj.__class__.__name__ + ' do not have atter "submit_view" ') return True
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 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 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 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 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 add_iten(self, item, details): if hasattr(self.ElmentsShema, item): method = getattr(self.ElmentsShema, item) method = method(details) if 'loop' in method: for el in method['loop']: self.from_section.append(el) else: self.from_section.append(method) else: Error.throw_error('Method ' + item + ' not found !')
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 galery(self): if 'galery_size' in self.WindowSize: if 'galery_photo_size' in self.WindowSize: data = self.WindowSize['galery_size'] data_size = self.WindowSize['galery_photo_size'] if 'galery_photo_size' in self.WindowSize: self.set_galery() if len(self.custum_galery) == 0: self.BaseView.galery( data, data_size, self.WindowSize['galery_item_show']) else: if os.path.isdir(self.custum_galery): self.BaseView.galery( data, data_size, self.WindowSize['galery_item_show'], self.custum_galery) else: Error.throw_error( 'self.custum_galery must be dir ! ') else: Error.throw_error( 'galery_item_show not found in resolution index (' + self.resolution_index + ')') else: Error.throw_error( 'galery_photo_size not found in resolution index (' + self.resolution_index + ')') else: Error.throw_error('galery_size not found in resolution index (' + self.resolution_index + ')')
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 title(self): title = '' if self.data is not None: title = self.data.show_name if len(self.window_title) > 0: title = self.window_title if "title_size" in self.WindowSize: data = self.WindowSize['title_size'] 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) self.setWindowTitle(self.window_title) else: Error.throw_error('title_size not found in resolution index (' + self.resolution_index + ')')
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 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 _set_resolution(self): if self.resolution_index in self.SetResolution.menu_set: if 'position' in self.SetResolution.menu_set[ self.resolution_index]: self.left = self.SetResolution.menu_set[ self.resolution_index]['position']['left'] self.top = self.SetResolution.menu_set[ self.resolution_index]['position']['top'] self.width = self.SetResolution.menu_set[ self.resolution_index]['position']['width'] self.height = self.SetResolution.menu_set[ self.resolution_index]['position']['height'] else: Error.throw_error('position not found in resolution index (' + self.resolution_index + ')') if 'window' in self.SetResolution.menu_set[self.resolution_index]: self.WindowSize = self.SetResolution.menu_set[ self.resolution_index]['window'] else: Error.throw_error('window not found in resolution index (' + self.resolution_index + ')') else: Error.throw_error('Resolution index "' + self.resolution_index + '" menu not found')
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 __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)