def listFromQuery(site, queryresult): """Generate a list of pages from an API query result queryresult is the list of pages from a list or generator query e.g. - for a list=categorymembers query, use result['query']['categorymembers'] for a generator query, use result['query']['pages'] """ ret = [] if isinstance(queryresult, list): for item in queryresult: pageid = False if 'pageid' in item: pageid = item['pageid'] if item['ns'] == 14: item = category.Category(site, title=item['title'], check=False, followRedir=False, pageid=pageid) elif item['ns'] == 6: item = wikifile.File(site, title=item['title'], check=False, followRedir=False, pageid=pageid) else: item = page.Page(site, title=item['title'], check=False, followRedir=False, pageid=pageid) ret.append(item) else: for key in queryresult.keys(): item = queryresult[key] pageid = False if 'pageid' in item: pageid = item['pageid'] if item['ns'] == 14: item = category.Category(site, title=item['title'], check=False, followRedir=False, pageid=pageid) elif item['ns'] == 6: item = wikifile.File(site, title=item['title'], check=False, followRedir=False, pageid=pageid) else: item = page.Page(site, title=item['title'], check=False, followRedir=False, pageid=pageid) ret.append(item) return ret
def getBrowseRange(self, cat, start, num, orderby, maxage=-1, excludedcats=list(), grp=''): mdb = db.DB() catsrch = '' if len(cat) > 0 and cat[0] != -1: catsrch = ' and (' for category in cat: if category != -1: categ = category.Category() if categ.isParent(category): children = categ.getChildren(category) chlist = '-99' for child in children: chlist += ', '+child['ID'] if chlist != '-99': catsrch += ' releases.categoryID in ('+chlist+') or ' else: catsrc += ' releases.categoryID = %d or ' % (category) catsrc += '1=1 )' if maxage > 0: maxage = ' and postdate > now() - interval %d day ' % maxage else: maxage = '' grpsql = '' if grp != '': grpsql = ' and groups.name = %s ' % mdb.escapeString(grp) exccatlist = '' if len(excludedcats) > 0: exccatlist = ' and categoryID not in ('+','.join(excludedcats)+')' order = self.getBrowseOrder(orderby) return mdb.query(" SELECT releases.*, concat(cp.title, ' > ', c.title) as category_name, concat(cp.ID, ',', c.ID) as category_ids, groups.name as group_name, rn.ID as nfoID, re.releaseID as reID from releases left outer join groups on groups.ID = releases.groupID left outer join releasevideo re on re.releaseID = releases.ID left outer join releasenfo rn on rn.releaseID = releases.ID and rn.nfo is not null left outer join category c on c.ID = releases.categoryID left outer join category cp on cp.ID = c.parentID where releases.passwordstatus <= (select value from site where setting='showpasswordedrelease') %s %s %s %s order by %s %s", (limit, catsrch, maxagesql, exccatlist, grpsql, order[0], order[1]))
def getBrowseCount(self, cat, maxage=-1, excludedcats=list(), grp=''): mdb = db.DB() catsrch = '' if len(cat) > 0 and cat[0] != -1: catsrch = ' and (' for category in cat: if category != -1: categ = category.Category() if categ.isParent(category): children = categ.getChildren(category) chlist = '-99' for child in children: chlist += ', '+child['ID'] if chlist != '-99': catsrch += ' releases.categoryID in ('+chlist+') or ' else: catsrc += ' releases.categoryID = %d or ' % (category) catsrc += '1=1 )' if maxage > 0: maxage = ' and postdate > now() - interval %d day ' % maxage else: maxage = '' grpsql = '' if grp != '': grpsql = ' and groups.name = %s ' % mdb.escapeString(grp) exccatlist = '' if len(excludedcats) > 0: exccatlist = ' and categoryID not in ('+','.join(excludedcats)+')' res = mdb.queryOneRow("select count(releases.ID) as num from releases left outer join groups on groups.ID = releases.groupID where releases.passwordstatus <= (select value from site where setting='showpasswordedrelease') %s %s %s %s", (catsrch, maxage, exccatlist, grpsql)) return res['num']
def doRetrieveDoc(self): d1 = set() d2 = set() kwList = list() docList = list() if self.uo != None: kwList = self.uo.keyword docList = self.uo.doc if len(kwList) == 0 and len(docList) == 0: cat = category.Category(3) cat.getPopTopics() kwList = cat.getCatList() docList = [] if len(self.kwList) > 0: kwList = self.kwList if len(self.docList) > 0: docList = self.docList ks = keywordSearch.KeywordSearch(kwList, 2) d1 = ks.doSearch() dr = docRecommend.DocRecommend(docList, 5) d2 = dr.doRecommend() recList = list() d2 = list(d2) #print d1 #print d2 recList = d1 + d2 return recList
def __init__(self, parent, controller): tk.Frame.__init__(self, parent) self.menu_frame = tk.Frame(self) #Create menu frame self.meal_frame = tk.Frame(self) #Create meal frame self.__restaurant_name = 'Sample' if(controller.get_restaurant() != None): print("controller found a restaurant") self.__restaurant_name = controller.get_restaurant_name() restaurant_label = tk.Label(self.__menu_frame, text=self.__restaurant_name) restaurant_label.pack(side="top") else: print("No restaurant") add_category_button = tk.Button(self.menu_frame, text="Add Category", command=lambda: self.show_frame(AddCategory)) add_category_button.pack(side="top") if (controller.get_restaurant() != None and controller.get_restaurant().has_categories()): add_item_button = tk.Button(self.menu_frame, text="Add Item", command=lambda: self.show_frame(AddItem)) add_item_button.pack(side="top") entrees = cg.Category('entrees') restaurant_categories = [entrees] if(controller.get_restaurant() != None and controller.get_restaurant().has_categories()): restaurant_categories = controller.get_restaurant().get_categories() category_tree = ttk.Treeview(self.menu_frame) category_tree.pack() self.menu_frame.pack(side="left") self.meal_frame.pack(side="left")
def makePage(key, result, site): title = False if 'title' in result: title = result['title'] if 'ns' in result and result['ns'] == 14: item = category.Category(site, title=title, check=False, followRedir=False, pageid=key) elif 'ns' in result and result['ns'] == 6: item = wikifile.File(site, title=title, check=False, followRedir=False, pageid=key) else: item = page.Page(site, title=title, check=False, followRedir=False, pageid=key) if 'missing' in result: item.exists = False if 'invalid' in result: item = False if 'ns' in result: item.setNamespace(int(result['ns'])) return item
def get_category_where_they_contain_15_food_min(): """Select category in table category by the product name""" try: cursor = myDb.cursor() query = f"""select c.id_category, c.name, c.url_category from category as c where c.id_category in ( select f.id_category from food as f group by id_category HAVING count(*) >= 15 )""" cursor.execute(query) results = cursor.fetchall() myDb.commit() # print(results) array_of_categories = [] for result in results: result[2].replace("'", "''") category_object = category.Category(id_category=result[0], category_name=result[1], url_category=result[2]) array_of_categories.append(category_object) return array_of_categories except Error as e: message = f"select category encounter a mysql error : {e}" print(message)
def get_category(): """Select category in table category by the product name""" try: cursor = myDb.cursor() query = f"""SELECT id_category, name, url_category FROM category;""" cursor.execute(query) results = cursor.fetchall() myDb.commit() # print(results) array_of_categories = [] for result in results: result[2].replace("'", "''") category_object = category.Category(id_category=result[0], category_name=result[1], url_category=result[2]) array_of_categories.append(category_object) return array_of_categories except Error as e: message = f"select category encounter a mysql error : {e}" print(message)
def main(): i1 = item.Item('Pillow', {'Amount': '10', 'Color': 'White'}) i2 = item.Item('Blankets', {'Amount': '13', 'Size': 'Large'}) cat = category.Category('Bed Supplies', [i1, i2]) inv = inventory.Inventory('Warehouse', 'password', [cat], [i1]) inv.save()
def categories(self): """Gets all the categories for a given project""" categories = [] json_raw = self._account.request(self.api_categories_url) raw_categories = json_raw['categories'] for raw_category in raw_categories: c = category.Category(raw_category) categories.append(c) return categories
def _get_category_objects(self): ''' Creates self.categories as a list of Category objects. These objects have following attributes : id, name, full_name. ''' self.cursor = self.mydb.cursor() query = f"SELECT * FROM category" self.cursor.execute(query) categories_objects = [] for (id, name, full_name) in self.cursor: categories_objects.append(category.Category(id, name, full_name)) return categories_objects
def recognize(self): frame = self.videowidget.frame cat = category.Category() keypoints, descriptors = self.surf.detectAndCompute(frame, None) cat.add_feature(descriptors) cat.calc_bagofwords(self.centroids) bow = cat.bagofwords[0] #print self.lin_clf.predict(bow) cat_id = int(self.lin_clf.predict(bow)[0]) label = None for i in self.ids: if self.ids[i] == cat_id: label = i if label: self.recogclass = label
def categorizeRelease(self, type, where = '', echo = False): mdb = db.DB() cat = category.Category() ct = consoletools.Consoletools() relcount = 0 resrel = mdb.queryDirect("SELECT ID, "+type+", groupID FROM releases "+where) for rowrel in resrel: catId = cat.determineCategory(rowrel['type'], rowrel['groupID']) mdb.queryDirect("UPDATE releases SET categoryID = %s, relnamestatus = 1 WHERE ID = %s", (catId, rowrel['ID'])) relcount += 1 if echo == True: ct.overWrite('Categorizing:'+ct.percentString(relcount, len(resrel))) return relcount
def train(self, event): classname = self.classname.text() if classname == "": return if len(self.categories) > 1: self.finalizebutton.setDisabled(False) if classname not in self.categories: self.categories[classname] = category.Category(label=classname) if self.videowidget.rectangle: (x1, y1, x2, y2) = self.videowidget.rectangle frame = self.videowidget.frame[y1:y2, x1:x2] else: frame = self.videowidget.frame #cv2.namedWindow("This", 0) #cv2.imshow("This", frame) keypoints, descriptors = self.surf.detectAndCompute(frame, None) self.features.extend(descriptors) self.categories[classname].add_feature(descriptors, keypoints, frame.shape) self.videowidget.clearRectangle()
article_id = parse_result[0] article_title = parse_result[1] article_body = parse_result[2] if article_id is not False: # "article_id is not False" means that this is an "update" action. posts_url = base_url + 'posts/' + str(article_id) is_update = True else: # "article_id is False" means that this is an "initial" post action. # Show category list to users and let him chose some categories. posts_url = base_url + 'posts/' is_update = False # Create instance to handle category cat = category.Category() # Get categories try: category_list = cat.get_category() except: log_control.logging.error('Get category list failed.') exit(99) print("Please select category id.") for cat in category_list: category_id = str(cat['id']) category_name = cat['name'] print(category_id + " : " + category_name) category_id_chosen = input('>>> ') if category_id_chosen is False: category_id = cat_default_id
def getCategory(self): cat = category.Category(5) catList = cat.getCatList() return catList
import category category_clothing = category.Category("Clothing", 200) category_food = category.Category("Food", 300) category_car = category.Category("Car", 200) category_health = category.Category("Health", 250) category_food.check_balance() category_clothing.check_balance() category_clothing.deposit(200) category_clothing.check_balance() category_clothing.withdraw(20) category_clothing.check_balance() category_clothing.transfer(category_food, 150)
################## ADD ALL FILES TO CONSIDER HERE ################################## FILES_TO_CONSIDER = { "VIDEO": [".mp4", ".mkv", ".webm"], "AUDIO": [".mp3"], "DOCUMENTS": [".pdf", ".doc", ".docx", "PDF", ".odt"], "HTMLFILES": [".html"], "PRESENTATIONS": [".pptx", ".ppt", ".odp"], "JSONFILES": [".json"], "TEXTFILES": [".txt"], "ExcelSheets": [".xlsx", ".xls", ".ods"], "certificates": [".crt"], "DATASETS": [".csv"], "COMPRESSED": [".zip", ".gz", ".rar", ".tgz", ".bz2", ".tar", ".7z"], "IMAGES": [".jpg", ".png", ".JPG", ".jpeg", ".tif"], "SQLFILES": [".sql"], "JAVA_LIBRARY_FILES": [".jar"], "PYTHON_PROGRAMS": [".py"], "JAVASCRIPT_PROGRAMS": [".js"], "INSTALLERS": [".deb", ".exe", ".run", ".AppImage"], "TORRENT": [".torrent"], "E_BOOKS": [".epub", ".mobi"], "DISC_IMAGES": [".iso"] } ########################################################################## for ct in FILES_TO_CONSIDER: CATEGORY_OBJECT[ct] = cat.Category(ct, FILES_TO_CONSIDER[ct])
def get_category(self, name): for t in self.tasks: if t.category.title == name: return t.category return category.Category("Bench", "#FFFF00")
def __init__(self): """Constructor method for the GUI""" self.__window = Tk() #Create main window self.__frame = Frame(self.__window, bg="black") self.__menu_frame = Frame(self.__frame, bg="black") #Create menu frame self.__meal_frame = Frame(self.__frame, bg="black") #Create meal frame restaurantName = input("What is the name of your restaurant? ") self.__menu = menu.Menu(restaurantName) #Create Menu # Create Menu Label self.__menu_label = Label(self.__menu_frame, text=self.__menu.get_name()\ ) self.__menu_label.config(font=("Helvetica", 20), bg="red") self.__menu_label.pack(side='top') #----- Create Salads Category ------------------------------------------------ self.__salads = category.Category(name="Salads") self.__green_salad = menu_item.MenuItem("Green Salad", 4.00, 15) self.__caesar_salad = menu_item.MenuItem("Caesar Salad", 5.00, 94) self.__greek_salad = menu_item.MenuItem("Greek Salad", 5.00, 179) self.__salads.add_item(self.__green_salad) self.__salads.add_item(self.__caesar_salad) self.__salads.add_item(self.__greek_salad) #----- Create Soups Category -------------------------------------------------- self.__soups = category.Category("Soups") self.__chicken_soup = menu_item.MenuItem("Chicken Soup", 3.50, 168) self.__vegetable_soup = menu_item.MenuItem("Vegetable Soup", 3.50, 159) self.__tomato_soup = menu_item.MenuItem("Tomato Soup", 3.50, 170) self.__butternut_squash_soup = menu_item.MenuItem("Butternut Squash Soup"\ , 3.75, 220) self.__soups.add_item(self.__chicken_soup) self.__soups.add_item(self.__vegetable_soup) self.__soups.add_item(self.__tomato_soup) self.__soups.add_item(self.__butternut_squash_soup) #----- Create Entree Category ------------------------------------------------ self.__entrees = category.Category("Entrees") self.__steak = menu_item.MenuItem("Steak (8 oz.)", 8.00, 614) self.__chicken = menu_item.MenuItem("Chicken", 6.00, 498) self.__salmon = menu_item.MenuItem("Salmon", 6.00, 468) self.__ravioli = menu_item.MenuItem("Spinach Ravioli", 7.50, 290) self.__entrees.add_item(self.__steak) self.__entrees.add_item(self.__chicken) self.__entrees.add_item(self.__salmon) self.__entrees.add_item(self.__ravioli) #----- Create Dessert Category ----------------------------------------------- self.__desserts = category.Category("Desserts") self.__chocolate_cake = menu_item.MenuItem("Chocolate Cake", 3.00, 424) self.__apple_pie = menu_item.MenuItem("Apple Pie", 3.00, 296) self.__fruit_salad = menu_item.MenuItem("Fruit Salad", 2.50, 97) self.__desserts.add_item(self.__chocolate_cake) self.__desserts.add_item(self.__apple_pie) self.__desserts.add_item(self.__fruit_salad) #----- Add Categories to Menu ------------------------------------------------ self.__menu.add_category(self.__salads) self.__menu.add_category(self.__soups) self.__menu.add_category(self.__entrees) self.__menu.add_category(self.__desserts) #----- Salad Category Display ------------------------------------------------ self.__salads_frame = Frame(self.__menu_frame, bg="light green") self.__salads_label = Label(self.__salads_frame,\ text=self.__salads.get_name(),\ ) self.__salads_label.config(font=("Arial Bold", 18), bg="light green") self.__salads_label.pack(side='top') self.__green_salad_label = Label(self.__salads_frame,\ text=self.__green_salad.get_name(),\ bg="light green") self.__caesar_salad_label = Label(self.__salads_frame,\ text=self.__caesar_salad.get_name(),\ bg="light green" ) self.__greek_salad_label = Label(self.__salads_frame,\ text=self.__greek_salad.get_name(),\ bg="light green") self.__green_salad_label.pack(side='top') self.__caesar_salad_label.pack(side='top') self.__greek_salad_label.pack(side='top') self.__salads_frame.pack(side="top") #----- Soup Category Display ------------------------------------------------- self.__soups_frame = Frame(self.__menu_frame, bg="light blue") self.__soups_label = Label(self.__soups_frame,\ text=self.__soups.get_name(),\ ) self.__soups_label.config(font=("Arial Bold", 18), bg="light blue") self.__soups_label.pack(side='top') self.__chicken_soup_label = Label(self.__soups_frame,\ text=self.__chicken_soup.get_name(),\ bg="light blue") self.__vegetable_soup_label = Label(self.__soups_frame,\ text=self.__vegetable_soup.get_name(),\ bg="light blue") self.__tomato_soup_label = Label(self.__soups_frame,\ text=self.__tomato_soup.get_name(),\ bg="light blue") self.__butternut_squash_soup_label = Label(self.__soups_frame,\ text=self.__butternut_squash_soup.get_name(),\ bg="light blue") self.__chicken_soup_label.pack(side='top') self.__vegetable_soup_label.pack(side='top') self.__tomato_soup_label.pack(side='top') self.__butternut_squash_soup_label.pack(side='top') self.__soups_frame.pack(side="top") #----- Entree Category Display ----------------------------------------------- self.__entrees_frame = Frame(self.__menu_frame, bg="orange") self.__entrees_label = Label(self.__entrees_frame,\ text=self.__entrees.get_name(),\ ) self.__entrees_label.config(font=("Arial Bold", 18), bg="orange") self.__entrees_label.pack(side='top') self.__steak_label = Label(self.__entrees_frame,\ text=self.__steak.get_name(),\ bg="orange") self.__chicken_label = Label(self.__entrees_frame,\ text=self.__chicken.get_name(),\ bg="orange") self.__salmon_label = Label(self.__entrees_frame,\ text=self.__salmon.get_name(),\ bg="orange") self.__ravioli_label = Label(self.__entrees_frame,\ text=self.__ravioli.get_name(),\ bg="orange") self.__steak_label.pack(side='top') self.__chicken_label.pack(side='top') self.__salmon_label.pack(side='top') self.__ravioli_label.pack(side='top') self.__entrees_frame.pack(side="top") #----- Dessert Category Display ---------------------------------------------- self.__desserts_frame = Frame(self.__menu_frame, bg="pink") self.__desserts_label = Label(self.__desserts_frame,\ text=self.__desserts.get_name(),\ ) self.__desserts_label.config(font=("Arial Bold", 18), bg="pink") self.__desserts_label.pack(side='top') self.__chocolate_cake_label = Label(self.__desserts_frame,\ text=self.__chocolate_cake.get_name(),\ bg="pink") self.__apple_pie_label = Label(self.__desserts_frame,\ text=self.__apple_pie.get_name(),\ bg="pink") self.__fruit_salad_label = Label(self.__desserts_frame,\ text=self.__fruit_salad.get_name(),\ bg="pink") self.__chocolate_cake_label.pack(side='top') self.__apple_pie_label.pack(side='top') self.__fruit_salad_label.pack(side='top') self.__desserts_frame.pack(side="top") #----- Create Meal Interface ------------------------------------------------- self.__meal_label = Label(self.__meal_frame, text="Your Meal") self.__meal_label.config(font=("Helvetica", 20), bg='red') self.__meal_label.pack(side='top') #----- Create Salads Pulldown Menu ------------------------------------------- self.__salads_meal_label = Label(self.__meal_frame,\ text=self.__salads.get_name(),\ ) self.__salads_meal_label.config(font=("Arial Bold", 18), bg="light green") self.__salads_meal_label.pack(side='top') self.__salads_stringVar = StringVar() self.__salads_list = self.__salads.get_items() self.__salads_stringVar.set(self.__salads_list[0]) self.__salads_popup = OptionMenu(self.__meal_frame,\ self.__salads_stringVar,\ *self.__salads_list) self.__salads_popup.config(bg="light green") self.__salads_popup.pack(side='top') #----- Create Soups Pulldown Menu -------------------------------------------- self.__soups_meal_label = Label(self.__meal_frame,\ text=self.__soups.get_name(),\ ) self.__soups_meal_label.config(font=("Arial Bold", 18), bg="light blue") self.__soups_meal_label.pack(side='top') self.__soups_stringVar = StringVar() self.__soups_list = self.__soups.get_items() self.__soups_stringVar.set(self.__soups_list[0]) self.__soups_popup = OptionMenu(self.__meal_frame,\ self.__soups_stringVar,\ *self.__soups_list) self.__soups_popup.config(bg="light blue") self.__soups_popup.pack(side='top') #----- Create Entrees Pulldwon Menu ------------------------------------------ self.__entrees_meal_label = Label(self.__meal_frame,\ text=self.__entrees.get_name(),\ ) self.__entrees_meal_label.config(font=("Arial Bold", 18), bg="orange") self.__entrees_meal_label.pack(side='top') self.__entrees_stringVar = StringVar() self.__entrees_list = self.__entrees.get_items() self.__entrees_stringVar.set(self.__entrees_list[0]) self.__entrees_popup = OptionMenu(self.__meal_frame,\ self.__entrees_stringVar,\ *self.__entrees_list) self.__entrees_popup.config(bg="orange") self.__entrees_popup.pack(side='top') #----- Create Desserts Pulldown Menu ----------------------------------------- self.__desserts_meal_label = Label(self.__meal_frame,\ text=self.__desserts.get_name(),\ ) self.__desserts_meal_label.config(font=("Arial Bold", 18), bg="pink") self.__desserts_meal_label.pack(side='top') self.__desserts_stringVar = StringVar() self.__desserts_list = self.__desserts.get_items() self.__desserts_stringVar.set(self.__desserts_list[0]) self.__desserts_popup = OptionMenu(self.__meal_frame,\ self.__desserts_stringVar,\ *self.__desserts_list) self.__desserts_popup.config(bg="pink") self.__desserts_popup.pack(side='top') #----- Create Totals Labels -------------------------------------------------- self.__total_price = StringVar() #self.__total_price.set(self. self.__total_price_label = Label(self.__meal_frame,\ text=('Your total price is:'), fg="white", bg="black") self.__total_price_label.pack(side='top') self.__display_price = Label(self.__meal_frame,\ textvariable = (self.__total_price), fg="white", bg="black") self.__display_price.pack(side='top') self.__total_calories = StringVar() #self.__total_calories.set( self.__total_calories_label = Label(self.__meal_frame,\ text=("Your meal's calorie count:"), fg="white", bg="black") self.__total_calories_label.pack(side='top') self.__calories_display = Label(self.__meal_frame,\ textvariable = self.__total_calories, fg="white", bg="black") self.__calories_display.pack(side='top') # create buttons self.create = Button(self.__meal_frame, text="CREATE MEAL", \ command=self.create_meal) self.create.config(highlightbackground="black", fg="white", disabledforeground="black") self.create.pack(side='top') self.__frame.pack() self.__menu_frame.pack(side='left') #Pack menu frame self.__meal_frame.pack(side='left') #Pack meal frame mainloop()
def writeNZBforReleaseID(self, relid, relguid, name, catId, path, printoutput=False): if relid == '' or relguid == '' or path == '': return False mdb = db.DB() binaries = dict() cat = category.Category() catrow = cat.getById(catId) site = site.Sites() fh = gzip.open(path) if fh: fh.write('<?xml version="1.0" encoding="UTF-8"?>\n') fh.write( '<!DOCTYPE nzb PUBLIC "-//newzBin//DTD NZB 1.1//EN" "http://www.newzbin.com/DTD/nzb/nzb-1.1.dtd">\n' ) fh.write('<nzb xmlns="http://www.newzbin.com/DTD/2003/nzb">\n\n') fh.write('<head>\n') if catrow: fh.write(' <meta type="category" %s </meta>\n' % escapeChars(catrow['title'])) if name != '': fh.write(' <meta type="name"> %s </meta>\n' % escapeChars(name)) fh.write('</head>\n\n') result = mdb.query( "SELECT collections.*, UNIX_TIMESTAMP(date) AS unixdate, groups.name as groupname FROM collections inner join groups on collections.groupID = groups.ID WHERE collections.releaseID = %s", (relid, )) for binrow in result: result2 = mdb.queryDirect( "SELECT ID, name, totalParts from binaries where collectionID = %s", (binrow['ID'], )) for binrow2 in result2: fh.write( '<file poster="%s" date="%s" subject="%s (1/%d)"\>\n' % (escapeChars(binrow['fromname']), escapeChars(binrow['unixdate']), escapeChars(binrow2['name']), binrow2['totalParts'])) fh.write(' <groups>\n') fh.write(' <group>%s</group>\n' % binrow['groupname']) fh.write(' </groups>\n') fh.write(' <segments>\n') resparts = mdb.queryDirect( "SELECT DISTINCT(messageID), size, partnumber FROM parts WHERE binaryID = %s ORDER BY partnumber", (binrow2['ID'], )) for partsrow in resparts: fh.write( ' <segment bytes="%d" number="%d"></segment>\n' % (partsrow['size'], partsrow['partnumber'], escapeChars(partsrow['messageID']))) fh.write(' </segments>\n</file>\n') fh.write('<!-- generated by usepy -->\n</nzb>') fh.close() if os.path.isfile(path): os.chmod(path, 0777) else: print '%s does not exist' % path else: return False
output += f"{self.name} \n" for category in self.categories: print(category) output += f" {str(i)} . {category.name} \n" i += 1 output += f" {str(i)} . Press 4 for exit" return output all_product_category = ["shoes", "Hat", "Helicopters", "Belts"] categories = [] for each_category in all_product_category: categories.append(category.Category(each_category)) my_store = Store("Bob's store", categories) print(f"List of products in store") print(my_store) # Create basic interactive commandline app selection = 0 while int(selection) != len(my_store.categories): try: selection = int(input("Select the number of the department.")) if selection == len(my_store.categories) + 1: print("Thanks for shopping at" + my_store.name) elif selection > 0 and selection <= len(my_store.categories): print(my_store.categories[selection - 1]) else:
def __init__(self): if (self.__initialized): return self.__initialized = True self.options = config.YAML_CONFIG.get('options') # where graphite lives self.graphite_base = config.YAML_CONFIG.get('graphite') # where the graphite renderer is self.graphite_render = "%s/render/" % self.graphite_base # where to find graph, dash etc templates self.graph_templates = config.YAML_CONFIG.get('templatedir') # the dash site might have a prefix for its css etc self.prefix = self.options.get('prefix', "") # the page refresh rate self.refresh_rate = self.options.get('refresh_rate', 60) # how many columns of graphs do you want on a page self.graph_columns = self.options.get('graph_columns', 2) # how wide each graph should be self.graph_width = self.options.get('graph_width') # how hight each graph sould be self.graph_height = self.options.get('graph_height') # Dashboard title self.dash_title = self.options.get('title', 'Graphite Dashboard') # Dashboard logo self.dash_logo = self.options.get('logo') # Time filters in interface self.interval_filters = self.options.get('interval_filters', []) self.intervals = self.options.get('intervals', []) self.top_level = {} for category_name in [ name for name in os.listdir(self.graph_templates) if not name.startswith('.') and os.path.isdir(os.path.join(self.graph_templates, name)) ]: if os.listdir(os.path.join(self.graph_templates, category_name)) != []: self.top_level[category_name] = category.Category( self.graphite_base, "/render/", self.graph_templates, category_name, { "width": self.graph_width, "height": self.graph_height }) self.search_elements = [ "%s/%s" % (d['category'], d['name']) for dash in self.top_level for d in self.top_level[dash].dashboards() ] elements_string = "" for item in self.search_elements: elements_string += '"%s",' % item self.search_elements = "[%s]" % elements_string[:-1]
def addCategory(self, categoryName): newCat = category.Category(categoryName) self.categories.append(newCat)
"kneelength": "midi" } pant_replacements = { 'sweats': 'sweatpants', 'joggers': 'sweatpants', 'bootcut': 'flare' } skirt_replacements = { "bodylength": "maxi", "fulllength": "maxi", "kneelength": "midi" } shirt_replacements = {} dress = category.Category(category='dress', sub_categories=dress_sub_categories, replacements=dress_replacements) shirt = category.Category(category='shirt', sub_categories=shirt_sub_categories, replacements=shirt_replacements) pant = category.Category(category='pant', sub_categories=pant_sub_categories, replacements=pant_replacements) skirt = category.Category(category='skirt', sub_categories=skirt_sub_categories, replacements=skirt_replacements) ################################################################################## # GROUPS: Each item can only be labelled with one label from each group ################################################################################## neck = group.Group(name="neck",
import make_labels import category import config import os from multiprocessing import Pool data_directory = "/home/allparel/Allparel-ML/datasets/images/" # Configuration dress = category.Category('dress', config.dress_sub_categories, config.dress_replacements) shirt = category.Category('shirt', config.shirt_sub_categories, config.shirt_replacements) pant = category.Category('pant', config.pant_sub_categories, config.pant_replacements) skirt = category.Category('skirt', config.skirt_sub_categories, config.skirt_replacements) categories = [dress, shirt, pant, skirt] groups = [config.neck] # Multiprocessing num_threads = 24 p = Pool(num_threads) #Scraping print("no scraping") # Reading files print("Processing raw txt files...", data_directory) files = [f for f in os.listdir(data_directory) if f.endswith('.txt')] records = make_labels.clean_records(p.map(make_labels.process_file, files)) # Updating database print("Writing updates to database", len(records))
def processReleasesStage7(self, groupID): mdb = db.DB() cat = category.Category() console = consoletools.Consoletools() n = self.n remcount = 0 passcount = 0 dupecount = 0 relsizecount = 0 completioncount = 0 disabledcount = 0 where = ' AND collections.groupID = %s' % groupID if groupID else '' # delete old releases and finished collections print n+'Stage 7 -> Delete old releases, finished collections and passworded releases.' stage7 = time.time() # old collections that were missed somehow mdb.queryDirect("DELETE collections, binaries, parts \ FROM collections LEFT JOIN binaries ON collections.ID = binaries.collectionID LEFT JOIN parts on binaries.ID = parts.binaryID \ WHERE (collections.filecheck = 5 OR (collections.dateadded < (now() - interval 72 hour))) "+where) reccount = mdb.getAffectedRows() where = ' AND groupID = %s' % groupID if not groupID else '' # releases past retention if page.site().releaseretentiondays != 0: result = mdb.query("SELECT ID, guid FROM releases WHERE postdate < now() - interval %s day " % page.site().releaseretentiondays) for rowrel in result: self.fastDelete(rowrel['ID'], rowrel['guid'], self.site) remcount += 1 # passworded releases if page.site().deletepasswordedrelease == 1: result = mdb.query("SELECT ID, guid FROM releases WHERE passwordstatus > 0") for rowrel in result: self.fastDelete(rowrel['ID'], rowrel['guid'], self.site) passcount += 1 # crossposted releases resrel = mdb.query("SELECT ID, guid FROM releases WHERE adddate > (now() - interval %s hour) GROUP BY name HAVING count(name) > 1" % self.crosspostt) for rowrel in resrel: self.fastDelete(rowrel['ID'], rowrel['guid'], self.site) dupecount += 1 # releases below completion % if self.completion > 0: resrel = mdb.query("SELECT ID, guid FROM releases WHERE completion < %s and completion > 0" % self.completion) for rowrel in resrel: self.fastDelet(rowrel['ID'], rowrel['guid'], self.site) completioncount += 1 # disabled categories catlist = cat.getDisabledIDs() if catlist: for dicks in catlist: rels = mdb.query("select ID, guid from releases where categoryID = %d", (dicks['ID'],)) for rel in rels: disabledcount += 1 self.fastDelete(rel['ID'], rel['guid'], self.site) print 'Removed releses: %d past rentention, %d passworded, %d crossposted, %d from disabled categories.' % (remcount, passcount, dupecount, disabledcount) if self.completion > 0: print 'Removed %d under %d%% completion. Removed %d parts/binaries/collection rows.' % (int(completioncount), int(self.completion), int(reccount)) else: print 'Removed %d parts/binaries/collection rows.' % (reccount) print console.convertTime(int(time.time() - stage7))