t=unicode(qApp.clipboard().mimeData().text()) done=0 zzWaitShow(u"Загрузка", t.count("\n")) curOrderUid=None for x in t.split("\n")[1:]: zzWaitStep() row=x.split("\t") if len(row)==52: if row[1-1]:#новый заказ orderDic={} orderDic['DATE']=date orderDic['buyer_id'.upper()]=gi("buyers","email",row[50-1],"buyer_id") orderDic['NOTES']=u"Заказ № %s:%s %s" % (row[1-1],row[30-1],row[14-1]) if num(orderDic['buyer_id'.upper()])==0: orderDic['NOTES']+=u"\n%s, %s (%s)" % (row[20-1],row[23-1],row[50-1]) if not insert("orders",orderDic): zzMess(lastError()) done+=1 ordetDic={} ordetDic['ORDER_ID']=orderDic['ORDER_ID'] ordetDic["QT"]=row[9-1] # ordetDic["PRIM"]=row[14-1] ordetDic["SELLING_PRICE"]=row[8-1].replace(u"руб.","").strip() ordetDic["PRODUCT_ID"]=gi("products","site_id",row[3-1],"product_id") if num(ordetDic["PRODUCT_ID"])==0: ordetDic["PRODUCT_ID"]=gi("products","name",row[4-1],"product_id") ordetDic["PURCHASE_PRICE"]=gi("products","product_id",ordetDic["PRODUCT_ID"],"PURCHASE_PRICE") if num(ordetDic["PRODUCT_ID"])==0: ordetDic["PRIM"]=u"%s (%s)" % (row[4-1],row[3-1]) if not insert("order_details",ordetDic): zzMess(lastError()) zzWaitClose() mem.refresh() zzMess(u"Загружено заказов <b>%s</b><br>" % (done))
Рубрика: Python
Преобразование даты
Python MySQL
Проверка IBAN
def ibanCheck(iban): if len(iban)!=28: return False else: return int("".join([x if x in "0123456789" else str(ord(x)-55) for x in iban[4:]+iban[:4]]))%97==1
Получить список дисков (обращение kernel)
def get_drives(): import string from ctypes import windll drives = [] bitmask = windll.kernel32.GetLogicalDrives() for letter in string.uppercase: if bitmask & 1: drives.append(letter) bitmask >>= 1 return drives print get_drives()
Парсинг mysqldump на отдельные БД
Если размер дампа небольшой: Если файл очень большой:
Чтение XML
и сами магические getDomElements , getDomElementText и getDomElementAttr
построение дерева в MySQL (до 60 уровней)
построение запроса для формирования таблицы, отсортированной по уровням вложения в дереве исходная таблица: spr_dep (dep, parent_dep,name) Результат
Смена цвета фона в IDE Eric
Непросто (почти невозможно) отыскать: Settings/Preferences/Editor/Highlighers/Styles Lexer Language=Python2 All Background Colours
синхронные QTableView и DragDrop
Убил день на поиск драгдропа из QTableView нашел! ключевое слово: model.flags