예제 #1
0
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
예제 #2
0
파일: releases.py 프로젝트: JnrnZEDb/usepy
	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]))
예제 #3
0
파일: releases.py 프로젝트: JnrnZEDb/usepy
	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']
예제 #4
0
    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
예제 #5
0
    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")
예제 #6
0
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
예제 #7
0
    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)
예제 #8
0
    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)
예제 #9
0
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()
예제 #10
0
    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
예제 #11
0
 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
예제 #12
0
 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
예제 #13
0
파일: releases.py 프로젝트: JnrnZEDb/usepy
	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
예제 #14
0
 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()
예제 #15
0
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
예제 #16
0
 def getCategory(self):
     cat = category.Category(5)
     catList = cat.getCatList()
     return catList
예제 #17
0
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)
예제 #18
0
################## 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])
예제 #19
0
 def get_category(self, name):
     for t in self.tasks:
         if t.category.title == name:
             return t.category
     return category.Category("Bench", "#FFFF00")
예제 #20
0
파일: menuGUI.py 프로젝트: hstein1/menu
    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()
예제 #21
0
    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
예제 #22
0
        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:
예제 #23
0
파일: leonardo.py 프로젝트: ellios/leonardo
    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]
예제 #24
0
 def addCategory(self, categoryName):
     newCat = category.Category(categoryName)
     self.categories.append(newCat)
예제 #25
0
    "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",
예제 #26
0
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))
예제 #27
0
파일: releases.py 프로젝트: JnrnZEDb/usepy
	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))