def get(self):
     parser = reqparse.RequestParser()
     parser.add_argument('username', location='headers')
     parser.add_argument('password', location='headers')
     parser.add_argument('order')
     parser.add_argument('product')
     params = parser.parse_args()
     if params['username'] is None or params['password'] is None:
         response = jsonify({"error": "no username and/or password"})
         response.status_code = 400
         return response
     if Auth.check(params['username'], params['password']) == False:
         response = jsonify({"error": "user unauthorized"})
         response.status_code = 401
         return response
     query = "select * from order_details"
     query_clauses = []
     if params['order'] is not None:
         query_clauses.append(f"OrderID = '{params['order']}'")
     if params['product'] is not None:
         query_clauses.append(f"ProductID = '{params['product']}'")
     if len(query_clauses) != 0:
         query += " where " + " and ".join(query_clauses)
     c.cursor.execute(query)
     records = c.cursor.fetchall()
     rows = len(records)
     result = {'count': rows, 'order_details': [{'OrderID': id, 'ProductID': pid, 'UnitPrice': f"{uprice:.2f}", 'Quantity': quan, 'Discount': str(disc)} for (id, pid, uprice, quan, disc) in records]}
     return result
示例#2
0
 def get(self):
     parser = reqparse.RequestParser()
     parser.add_argument('username', location='headers')
     parser.add_argument('password', location='headers')
     parser.add_argument('id')
     parser.add_argument('customer')
     parser.add_argument('city')
     parser.add_argument('country')
     params = parser.parse_args()
     if params['username'] is None or params['password'] is None:
         response = jsonify({"error": "no username and/or password"})
         response.status_code = 400
         return response
     if Auth.check(params['username'], params['password']) == False:
         response = jsonify({"error": "user unauthorized"})
         response.status_code = 401
         return response
     query = "select OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry from orders"
     query_clauses = []
     if params['id'] is not None:
         query_clauses.append(f"OrderID = '{params['id']}'")
     if params['customer'] is not None:
         query_clauses.append(f"CustomerID = '{params['customer']}'")
     if params['city'] is not None:
         query_clauses.append(f"ShipCity = '{params['city']}'")
     if params['country'] is not None:
         query_clauses.append(f"ShipCountry = '{params['country']}'")
     if len(query_clauses) != 0:
         query += " where " + " and ".join(query_clauses)
     c.cursor.execute(query)
     records = c.cursor.fetchall()
     rows = len(records)
     result = {
         'count':
         rows,
         'orders': [{
             'OrderID': id,
             'CustomerID': customer,
             'EmployeeID': employee,
             'OrderDate': str(odate),
             'RequiredDate': str(rdate),
             'ShippedDate': str(sdate),
             'ShipVia': via,
             'Freight': str(freight),
             'ShipName': name,
             'ShippedDate': address,
             'ShipCity': city,
             'ShipRegion': region,
             'ShipPostalCode': postal,
             'ShipCountry': country
         } for (id, customer, employee, odate, rdate, sdate, via, freight,
                name, address, city, region, postal, country) in records]
     }
     return result
示例#3
0
 def get(self):
     parser = reqparse.RequestParser()
     parser.add_argument('username', location='headers')
     parser.add_argument('password', location='headers')
     params = parser.parse_args()
     if params['username'] is None or params['password'] is None:
         response = jsonify({"error": "no username and/or password"})
         response.status_code = 400
         return response
     if Auth.check(params['username'], params['password']) == False:
         response = jsonify({"error": "user unauthorized"})
         response.status_code = 401
         return response
     c.cursor.execute(
         "select EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes from employees"
     )
     records = c.cursor.fetchall()
     rows = len(records)
     result = {
         'count':
         rows,
         'employees':
         [{
             'EmployeeID': id,
             'LastName': lname,
             'FirstName': fname,
             'Title': title,
             'TitleOfCourtesy': toc,
             'BirthDate': str(bdate),
             'HireDate': str(hdate),
             'Address': address,
             'City': city,
             'Region': region,
             'PostalCode': pcode,
             'Country': country,
             'HomePhone': hphone,
             'Extension': extension,
             'Notes': notes
         }
          for (id, lname, fname, title, toc, bdate, hdate, address, city,
               region, pcode, country, hphone, extension, notes) in records]
     }
     return result
示例#4
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('username', location='headers')
        parser.add_argument('password', location='headers')
        parser.add_argument('newSupplier', location='json')
        params = parser.parse_args()

        if params['username'] is None or params['password'] is None:
            response = jsonify({"error": "no username and/or password"})
            response.status_code = 400
            return response
        if Auth.check(params['username'], params['password']) == False:
            response = jsonify({"error": "user unauthorized"})
            response.status_code = 401
            return response

        if params['newSupplier'] is None:
            response = jsonify({"error": "no newSupplier attribute found"})
            response.status_code = 400
            return response

        try:
            supplier = json.loads(params['newSupplier'].replace('\'', '"'))
        except Exception as e:
            response = jsonify({"error": "newSupplier must be an object"})
            response.status_code = 400
            return response

        if 'companyName' not in supplier:
            response = jsonify(
                {"error": "no required companyName attribute found"})
            response.status_code = 400
            return response

        columns = ['CompanyName']
        values = [supplier['companyName']]

        if 'contactName' in supplier:
            columns.append('ContactName')
            values.append(supplier['contactName'])
        if 'contactTitle' in supplier:
            columns.append('ContactTitle')
            values.append(supplier['contactTitle'])
        if 'address' in supplier:
            columns.append('Address')
            values.append(supplier['address'])
        if 'city' in supplier:
            columns.append('City')
            values.append(supplier['city'])
        if 'region' in supplier:
            columns.append('Region')
            values.append(supplier['region'])
        if 'postalCode' in supplier:
            columns.append('PostalCode')
            values.append(supplier['postalCode'])
        if 'country' in supplier:
            columns.append('Country')
            values.append(supplier['country'])
        if 'phone' in supplier:
            columns.append('Phone')
            values.append(supplier['phone'])
        if 'fax' in supplier:
            columns.append('Fax')
            values.append(supplier['fax'])
        if 'homePage' in supplier:
            columns.append('HomePage')
            values.append(supplier['homePage'])
        query = "insert into suppliers (" + ', '.join(columns) + \
            ") VALUES (\"" + '", "'.join(values) + "\")"
        c.cursor.execute(query)
        rows = c.cursor.rowcount
        if rows == 1:
            response = jsonify({"ok": "supplier successfully inserted"})
            response.status_code = 200
            return response
        else:
            response = jsonify({"error": "supplier not inserted"})
            response.status_code = 400
            return response
示例#5
0
文件: ubezee.py 项目: kurokid/Ubezee
class MyElement (QObject):

	hasLockChanged = pyqtSignal()
	hasLoginChanged = pyqtSignal()
	hasErrorChanged = pyqtSignal()
	hasRegisterChanged = pyqtSignal()
	varChanged = pyqtSignal()
	themeChanged = pyqtSignal()
	overlayChanged = pyqtSignal()
	
	def __init__(self, parent=None):
		super(MyElement, self).__init__()
		self.setObjectName('mainObject')
		self._users = []
		self._index = 0
		self._myTheme = Theme()
		self._myColor = self._myTheme.getTheme() 
		self.mainProc = QProcess()
		self.secondProc = QProcess()
		self.mainProc.finished.connect(self.finishProc)
		self.mainProc.started.connect(self.startProc)
		self.secondProc.finished.connect(self.secondFinishProc)
		self.secondProc.started.connect(self.startProc)
		self.auth = Auth()
		self._isiPesan = ""
		self._judulPesan = "Error"
		self._overlay = ""
		self._isLock = False
		self._hasRegister = False
		self._hasLogin = False
		self._hasError = False
		self._userListData = UserItemModel()
		self._userListData.addRootElement()
		self.addNewUser()
	
	@pyqtProperty(bool, notify=hasLockChanged)
	def isLock(self):
		return os.path.isfile("/var/ubezee/LOCKED")
		
	def finishProc(self, exitCode):
		if not exitCode:
			self.setError(True, "Proses Berhasil", "Proses buka/tutup kunci telah berhasil, silakan hidupkan ulang komputer anda untuk mengimplementasikan perubahan.")
			self._overlay = ""
			self.hasLockChanged.emit()
		else:
			self.setError(True, "Proses Gagal", "Terjadi kesalahan saat akan melakukan proses buka/tutup kunci, silakan coba lagi.")

	def secondFinishProc(self, exitCode):
		if not exitCode:
			self.setError(True, "Proses Berhasil", "Proses buka/tutup kunci pada pengguna telah berhasil, silakan hidupkan ulang komputer anda untuk mengimplementasikan perubahan.")
			self._overlay = ""
			h = self._userListData.index(self._index, 0)
			if self._userListData.itemFromIndex(h).data(5):
				self._userListData.itemFromIndex(h).setData(False, 5)
			else:
				self._userListData.itemFromIndex(h).setData(True, 5)
		else:
			self.setError(True, "Proses Gagal", "Terjadi kesalahan saat akan melakukan proses buka/tutup kunci, silakan coba lagi.")

		
	def startProc(self):
		self.setInfo("Harap Tunggu", "Proses buka/tutup pengunci sistem sedang berlangsung, mohon tunggu sebentar...")
		self.setOverlay("loading")
		
	@pyqtSlot(bool)
	def changeLock(self, todo):
		if todo:
			self.mainProc.start("bash locker.sh -l sistem")
		else:
			self.mainProc.start("bash locker.sh -u sistem")
			
	@pyqtSlot(int, str, bool)
	def lockUser(self, index, nama, locked):
		self._index = index
		if not locked:
			self.secondProc.start("bash locker.sh -l %s" % nama)
		else:
			self.secondProc.start("bash locker.sh -u %s" % nama)
	
	@pyqtProperty(bool, notify=hasLoginChanged)
	def hasLogin(self):
		return self._hasLogin
	
	@pyqtProperty(str, notify=themeChanged)
	def myColor1(self):
		return self._myColor[0]
	
	@pyqtProperty(str, notify=themeChanged)
	def myColor2(self):
		return self._myColor[1]
	
	@pyqtSlot(str)
	def setTheme(self, theme):
		self._myTheme.setTheme(theme)
		self.themeChanged.emit()
	
	@pyqtProperty(str, notify=varChanged)
	def isiPesan(self):
		return self._isiPesan
	
	@pyqtSlot(str, str)
	def setInfo(self, judul,isi):
		if self._isiPesan != isi:
			self._isiPesan = isi
		if self._judulPesan != judul:
			self._judulPesan = judul
		self.varChanged.emit()
	
	@pyqtProperty(str, notify=varChanged)
	def judulPesan(self):
		return self._judulPesan
	
	@pyqtProperty(str, notify=varChanged)
	def getPassword(self):
		return self.auth.get_password()
	
	@pyqtProperty(bool, notify=hasRegisterChanged)
	def hasRegister(self):
		return self.auth.check()
	
	def setRegister(self, register):
		if self._hasRegister != register:
			self._hasRegister = register			
			self.hasRegisterChanged.emit()
	
	@pyqtSlot(str, str)
	def doRegister(self, hint, userPass):
		if self.auth.set_password(userPass, hint):
			self.setError(True, "Proses Gagal", "Terjadi kesalahan pada proses pembuatan kata kunci baru.")
		else:
			self.setError(True, "Perubahan Berhasil", "Kata kunci anda berhasil dirubah dan disimpan.")
			self.setRegister(True)
	
	def setLogin(self, login):
		if self._hasLogin != login:
			self._hasLogin = login			
			self.hasLoginChanged.emit()
	
	@pyqtProperty(bool, notify=hasErrorChanged)
	def hasError(self):
		return self._hasError
	
	@pyqtProperty(str, notify=overlayChanged)
	def overlay(self):
		return self._overlay
	
	@pyqtSlot(str)
	def setOverlay(self, overlay):
		self._overlay = overlay			
		self.overlayChanged.emit()
		print(self._overlay)
	
	@pyqtSlot(bool, str, str)
	def setError(self, error, judul, isi):
		if self._hasError != error:
			self.setInfo(judul, isi)
			self._hasError = error
			self.hasErrorChanged.emit()
		
	@pyqtProperty(QStandardItemModel, constant=True)
	def userListData(self):
		return self._userListData	
			
	@pyqtSlot(str)
	def check_pass(self, password):
		if self.auth.checkAuth(str(password)):
			self.setLogin(True)
			self.setOverlay("")
		else:
			self.setError(True, "Gagal Masuk", "kata kunci yang anda masukkan salah, silakan coba lagi.")
			
	def addNewUser(self):
		self.getUsers()
		for i in self._users:
			user = MyUser(i[0],i[4],i[5])
			self._userListData.addUserItem(user.getName(), 
					user.getAvatar(),
					user.getHome(),
					user.getRealName(),
					user.getLock())
		
	def getUsers(self):
		for users in pwd.getpwall():
			if users[2] >= 1000:
				self._users.append(users)
示例#6
0
    def get(self):
        parser = reqparse.RequestParser()
        parser.add_argument('username', location='headers')
        parser.add_argument('password', location='headers')
        params = parser.parse_args()
        if params['username'] is None or params['password'] is None:
            response = jsonify({"error": "no username and/or password"})
            response.status_code = 400
            return response
        if Auth.check(params['username'], params['password']) == False:
            response = jsonify({"error": "user unauthorized"})
            response.status_code = 401
            return response
        query = "select o.OrderID, o.CustomerID, o.EmployeeID, o.OrderDate, o.RequiredDate, o.ShippedDate, o.ShipVia, o.Freight, o.ShipName, o.ShipAddress, o.ShipCity, o.ShipRegion, o.ShipPostalCode, o.ShipCountry, od.*, p.*, c.CategoryName, c.Description from orders o join order_details od on o.OrderID = od.OrderID join products p on od.ProductID = p.ProductID join categories c on c.CategoryID = p.CategoryID order by o.OrderID"
        c.cursor.execute(query)
        records = c.cursor.fetchall()
        previous_oid = 0
        orders_array = []
        details_array = []
        for (id, customer, employee, odate, rdate, sdate, via, freight, name,
             address, city, region, postal, country, oid, opid, ounit, oquan,
             odisc, pid, pname, psid, pcid, pquan, punit, pstock, porder,
             preorder, pdisc, cname, cdesc) in records:

            if previous_oid != id and previous_oid != 0:
                one_order = {
                    'OrderID': id,
                    'CustomerID': customer,
                    'EmployeeID': employee,
                    'OrderDate': str(odate),
                    'RequiredDate': str(rdate),
                    'ShippedDate': str(sdate),
                    'ShipVia': via,
                    'Freight': str(freight),
                    'ShipName': name,
                    'ShippedDate': address,
                    'ShipCity': city,
                    'ShipRegion': region,
                    'ShipPostalCode': postal,
                    'ShipCountry': country,
                    'OrderDetails': details_array
                }
                details_array = []
                orders_array.append(one_order)

            category = {'CategoryName': cname, 'Description': cdesc}
            product = {
                'ProductID': pid,
                'ProductName': pname,
                'SupplierID': psid,
                'Category': category,
                'QuantityPerUnit': pquan,
                'UnitPrice': f"{punit:.2f}",
                'UnitsInStock': pstock,
                'UnitsOnOrder': porder,
                'ReorderLevel': preorder,
                'Discontinued': pdisc == 1
            }
            one_detail = {
                'Product': product,
                'UnitPrice': f"{ounit:.2f}",
                'Quantity': oquan,
                'Discount': str(odisc)
            }
            details_array.append(one_detail)
            previous_oid = id

        result = {"orders": orders_array}
        return result
示例#7
0
    def get(self):
        parser = reqparse.RequestParser()
        parser.add_argument('username', location='headers')
        parser.add_argument('password', location='headers')
        parser.add_argument('supplier', location='json')
        parser.add_argument('category', location='json')
        parser.add_argument('unit_price', location='json')
        parser.add_argument('units_in_stock', location='json')
        parser.add_argument('units_on_order', location='json')
        parser.add_argument('reorder_level', location='json')
        parser.add_argument('discontinued', location='json')
        params = parser.parse_args()

        if params['username'] is None or params['password'] is None:
            response = jsonify({"error": "no username and/or password"})
            response.status_code = 400
            return response
        if Auth.check(params['username'], params['password']) == False:
            response = jsonify({"error": "user unauthorized"})
            response.status_code = 401
            return response

        query = "select * from products"
        query_clauses = []
        unit_price = params['unit_price']
        units_in_stock = params['units_in_stock']
        units_on_order = params['units_on_order']
        reorder_level = params['reorder_level']
        if unit_price is not None:
            unit_price = json.loads(unit_price.replace('\'', '"'))
            if 'gt' in unit_price:
                query_clauses.append(f"UnitPrice > {unit_price['gt']}")
            if 'lt' in unit_price:
                query_clauses.append(f"UnitPrice < {unit_price['lt']}")
        if units_in_stock is not None:
            units_in_stock = json.loads(units_in_stock.replace('\'', '"'))
            if 'gt' in units_in_stock:
                query_clauses.append(f"UnitsInStock > {units_in_stock['gt']}")
            if 'lt' in units_in_stock:
                query_clauses.append(f"UnitsInStock < {units_in_stock['lt']}")
        if units_on_order is not None:
            units_on_order = json.loads(units_on_order.replace('\'', '"'))
            if 'gt' in units_on_order:
                query_clauses.append(f"UnitsOnOrder > {units_on_order['gt']}")
            if 'lt' in units_on_order:
                query_clauses.append(f"UnitsOnOrder < {units_on_order['lt']}")
        if reorder_level is not None:
            reorder_level = json.loads(reorder_level.replace('\'', '"'))
            if 'gt' in reorder_level:
                query_clauses.append(f"ReorderLevel > {reorder_level['gt']}")
            if 'lt' in reorder_level:
                query_clauses.append(f"ReorderLevel < {reorder_level['lt']}")
        if params['supplier'] is not None:
            query_clauses.append(f"SupplierID = {params['supplier']}")
        if params['category'] is not None:
            query_clauses.append(f"CategoryID = {params['category']}")
        if params['category'] is not None:
            query_clauses.append(f"CategoryID = {params['category']}")
        if params['discontinued'] is not None:
            query_clauses.append(f"Discontinued = {params['discontinued']}")

        if len(query_clauses) != 0:
            query += " where " + " and ".join(query_clauses)

        c.cursor.execute(query)
        records = c.cursor.fetchall()
        rows = len(records)
        result = {
            'count':
            rows,
            'products': [{
                'ProductID': id,
                'ProductName': name,
                'SupplierID': supplier,
                'CategoryID': category,
                'QuantityPerUnit': quan,
                'UnitPrice': f"{uprice:.2f}",
                'UnitsInStock': stock,
                'UnitsOnOrder': order,
                'ReorderLevel': reorder,
                'Discontinued': disc == 1
            } for (id, name, supplier, category, quan, uprice, stock, order,
                   reorder, disc) in records]
        }
        return result
示例#8
0
def carpeta(*args):
    for carp in args:
        try:
            os.makedirs(carp)
        except FileExistsError:
            pass


nulled = ""
while not nulled:
    nulled = input("Input your nulled auth: ")
    limpiar()

Auth(nulled, "1196019", "IT1J672Y6G7H2NCYNUIIMCTJV67PH1SF")
au = Auth.check()
if au != True:
    error("Wrong Auth")
    exit()

limpiar()


class Checker:
    def __init__(self, proxy_object):
        if not proxy_object:
            self.proxyless = True
        else:
            if len(proxy_object) > 1:
                self.proxyless = False
                self.proxy = proxy_object