Форум сайта python.su
Всем привет.
В Питоне новичок, прошу сильно не ругать за нечитаемый код.
Написал программу для составления таблиц (приложен table.xlsx для примера) соответствия позиций по смете и спецификации. Для работы с экселем использую Openpyxl.
Спецификацию и сметы из экселя парсит без проблем, проблема возникла с частью которая производит сравнение. Данная часть начинается с кода "for SMIter in SMMarkGlob“.
Вкратце, что производится:
1) Генерируется список SMPosList из номеров строк в которых есть попозиционные данные из смет.
2) Генерируется список SOPosList из номеров строк в которых есть попозиционные данные из спецификации.
3) Последовательное сравнение: 100% совпадение, 90-99%, 80-90% и т.д.
Как производится. SMPosList прогоняется через цикл, в каждом вхождении вложенный цикл для SOPosList. При нахождении совпадения наименования (например для цикла ”100%“) и количества (для циклов ”<100%") найденные соответствующие позиции удаляются из обоих списков методом remove и вложенный цикл прерывается break. Начинается следующая итерация для SMPosList.
Конкретную проблему обнаружил для строки 192 приложенного файла эксель.
Данная строка должна соответствовать строке 69. При этом сравнение по наименованию дает 33% (в этом можно убедиться если посмотреть конец файла программы переменная CompareRatio1).
Проблема в том, что при выполнении цикл для SMPosList проскакивает этот элемент 192.
Список на момент выполнения цикла …,191,192,195,… . Цикл выполняется для 191 и следующая итерация для 195.
Почему?
Если при выполнении цикла номер 191 удаляется из списка и на его позицию встает 192, итерация для данной позиции считается пройденной?
Отредактировано renz72 (Фев. 19, 2016 19:19:59)
Прикреплённый файлы:
smetaAA.zip (94,7 KБ)
Офлайн
renz72Без кода опиши задачу. Что есть изначально, что надо с этим сделать, что нужно получить в результате.
Написал программу для составления таблиц (приложен table.xlsx для примера) соответствия позиций по смете и спецификации.
Офлайн
Проблему решил.
Действительно, если во время выполнения из списка удалить элемент для которого идет итерация, то после break, цикл пропускает следующий элемент, т.к. он встает на позицию удаленного.
Программа выполняет следующую задачу. Вытаскивает из спецификации и сметы все позиции, далее каждой позиции из спецификации проставляет позицию из сметы. И все это записывается в приложенный эксель файл. Попутно из смет выдергивает цены.
Во вложении исправленная, рабочая версия программы.
Отредактировано renz72 (Фев. 20, 2016 20:44:03)
Прикреплённый файлы:
smetaAA.py (20,7 KБ)
Офлайн
Всем привет.
Хотел вчера поднять тему, но макаффи на работе не пропустил вложение.
Тему возможно стоит перенести во флейм.
Предыстория. В начале года поставил себе задачку, сделать программу которая будет анализировать проектно-сметную документацию, а в частности сравнивать объемы МТР в спецификации из рабочей документации с объемами в локальных сметных расчетах.
Писалась под Винду.
Данные берутся из файлов спецификаций и смет в формате Excel *.xlsx (2010 офис).
На выходе файл Excel “дата_время_tableout.xlsx” на рабочем столе.
Используется шаблон tablein.xlsx для формирования таблицы (от этого надо уйти и формировать внутри программы).
В начале декабря допилил до более менее вменяемого состояния.
Теперь к главному, что хочу.
Большая просьба к опытным питонистам, если у вас возникнет желание, потыкать в программу, в ее плохие места. Неоптимальный код, излишние конструкции, оформление косое ну и т.д.
Писался на 3 Питоне.
Для проверки работы приложил также пример спецификации (SO) и смет (SM).
Заранее спасибо!
Отредактировано renz72 (Дек. 31, 2016 04:09:11)
Прикреплённый файлы:
SmChecker.zip (132,1 KБ)
Офлайн
[guest@localhost SmChecker]$ python3-pylint GUI.py
No config file found, using default configuration
************* Module GUI
C: 6, 0: Exactly one space required after comma
import datetime,os
^ (bad-whitespace)
C: 24, 0: Line too long (130/80) (line-too-long)
C: 24, 0: No space allowed before bracket
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать спецификации',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 24, 0: Exactly one space required after comma
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать спецификации',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 24, 0: Exactly one space required after comma
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать спецификации',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 24, 0: No space allowed around keyword argument assignment
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать спецификации',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 25, 0: Exactly one space required after comma
FileList = LIST1.get(0,END)
^ (bad-whitespace)
C: 27, 0: No space allowed before bracket
if (str(x)) not in FileList: LIST1.insert (END, str(x))
^ (bad-whitespace)
C: 33, 0: Line too long (123/80) (line-too-long)
C: 33, 0: No space allowed before bracket
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать сметы',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 33, 0: Exactly one space required after comma
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать сметы',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 33, 0: Exactly one space required after comma
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать сметы',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 33, 0: No space allowed around keyword argument assignment
files = tkinter.filedialog.askopenfilenames (parent=root,title='Выбрать сметы',filetypes = [("Excel files", "*.xlsx")])
^ (bad-whitespace)
C: 34, 0: Exactly one space required after comma
FileList = LIST2.get(0,END)
^ (bad-whitespace)
C: 36, 0: No space allowed before bracket
if (str(x)) not in FileList: LIST2.insert (END, str(x))
^ (bad-whitespace)
C: 39, 0: Trailing whitespace (trailing-whitespace)
C:109, 0: Exactly one space required after comma
ListOfSO = LIST1.get(0,END) # Получить список спецификаций
^ (bad-whitespace)
C:110, 0: Exactly one space required after comma
ListOfSM = LIST2.get(0,END) # Получить список смет
^ (bad-whitespace)
C:112, 0: No space allowed around keyword argument assignment
LB3.config(text = "Спецификации или сметы не выбраны.")
^ (bad-whitespace)
C:117, 0: No space allowed around keyword argument assignment
LB3.config(text = "Идет формирование базы данных")
^ (bad-whitespace)
C:120, 0: Trailing whitespace (trailing-whitespace)
C:130, 0: Exactly one space required after comma
GlobalData = FormGlobalTable(GlobalSOTable,GlobalSMTable)
^ (bad-whitespace)
C:135, 0: No space allowed around keyword argument assignment
LB3.config(text = "Идет запись в выходной файл tableout.xlsx")
^ (bad-whitespace)
C:140, 0: No space allowed around keyword argument assignment
LB3.config(text = "Записано в файл на рабочем столе")
^ (bad-whitespace)
C:148, 0: No space allowed before bracket
def FormGlobalTableSO (ListOfSO):
^ (bad-whitespace)
C:149, 0: Line too long (96/80) (line-too-long)
C:151, 0: Line too long (86/80) (line-too-long)
C:152, 0: Line too long (95/80) (line-too-long)
C:157, 0: Line too long (95/80) (line-too-long)
C:158, 0: Line too long (192/80) (line-too-long)
C:162, 0: No space allowed before bracket
NameOfFile = NameOfFile [len (NameOfFile) - 1]
^ (bad-whitespace)
C:162, 0: No space allowed before bracket
NameOfFile = NameOfFile [len (NameOfFile) - 1]
^ (bad-whitespace)
C:164, 0: No space allowed around keyword argument assignment
LB3.config(text = "Формирование базы МТР из спецификации " + NameOfFile)
^ (bad-whitespace)
C:170, 0: No space allowed around keyword argument assignment
LB3.config(text = "Ошибка открытия спецификации " + NameOfFile)
^ (bad-whitespace)
C:177, 0: Line too long (96/80) (line-too-long)
C:177, 0: No space allowed around keyword argument assignment
LB3.config(text = "В спецификации "+NameOfFile+" отсутствует вкладка 'Ввод данных'")
^ (bad-whitespace)
C:182, 0: Trailing whitespace (trailing-whitespace)
C:184, 0: No space allowed before bracket
for RowItem in range (4, MaxRow+1):
^ (bad-whitespace)
C:185, 0: Line too long (83/80) (line-too-long)
C:188, 0: Trailing whitespace (trailing-whitespace)
C:190, 0: No space allowed before bracket
CellData.append (Cell.value)
^ (bad-whitespace)
C:191, 0: No space allowed before bracket
if all (x == None for x in CellData):
^ (bad-whitespace)
C:195, 0: Line too long (187/80) (line-too-long)
C:195, 0: Exactly one space required after comma
GlobalSOTable.append([RowItem,str(CellData[SOColumnName]),str(CellData[SOColumnType]),CellData[SOColumnEI],CellData[SOColumnQuantity],CellData[SOColumnWeight],NameOfFile])
^ (bad-whitespace)
C:195, 0: Exactly one space required after comma
GlobalSOTable.append([RowItem,str(CellData[SOColumnName]),str(CellData[SOColumnType]),CellData[SOColumnEI],CellData[SOColumnQuantity],CellData[SOColumnWeight],NameOfFile])
^ (bad-whitespace)
C:195, 0: Exactly one space required after comma
GlobalSOTable.append([RowItem,str(CellData[SOColumnName]),str(CellData[SOColumnType]),CellData[SOColumnEI],CellData[SOColumnQuantity],CellData[SOColumnWeight],NameOfFile])
^ (bad-whitespace)
C:195, 0: Exactly one space required after comma
GlobalSOTable.append([RowItem,str(CellData[SOColumnName]),str(CellData[SOColumnType]),CellData[SOColumnEI],CellData[SOColumnQuantity],CellData[SOColumnWeight],NameOfFile])
^ (bad-whitespace)
C:195, 0: Exactly one space required after comma
GlobalSOTable.append([RowItem,str(CellData[SOColumnName]),str(CellData[SOColumnType]),CellData[SOColumnEI],CellData[SOColumnQuantity],CellData[SOColumnWeight],NameOfFile])
^ (bad-whitespace)
C:195, 0: Exactly one space required after comma
GlobalSOTable.append([RowItem,str(CellData[SOColumnName]),str(CellData[SOColumnType]),CellData[SOColumnEI],CellData[SOColumnQuantity],CellData[SOColumnWeight],NameOfFile])
^ (bad-whitespace)
C:197, 0: No space allowed before bracket
for QYCounter in range (0,len(GlobalSOTable)):
^ (bad-whitespace)
C:197, 0: Exactly one space required after comma
for QYCounter in range (0,len(GlobalSOTable)):
^ (bad-whitespace)
C:202, 0: Exactly one space required after comma
GlobalSOTable[QYCounter][4] = QYNorm[len(QYNorm)-1].replace(".",",")
^ (bad-whitespace)
C:204, 0: Exactly one space required after comma
LIST1.delete(0,END)
^ (bad-whitespace)
C:211, 0: No space allowed before bracket
def FormGlobalTableSM (ListOfSM):
^ (bad-whitespace)
C:212, 0: Line too long (87/80) (line-too-long)
C:212, 0: Exactly one space required after comma
SMMarks = ("ОЗП=","ЭМ=","ЗПМ=","МАТ=") #Ключевые слова по которым определяем объем
^ (bad-whitespace)
C:212, 0: Exactly one space required after comma
SMMarks = ("ОЗП=","ЭМ=","ЗПМ=","МАТ=") #Ключевые слова по которым определяем объем
^ (bad-whitespace)
C:212, 0: Exactly one space required after comma
SMMarks = ("ОЗП=","ЭМ=","ЗПМ=","МАТ=") #Ключевые слова по которым определяем объем
^ (bad-whitespace)
C:217, 0: Line too long (90/80) (line-too-long)
C:221, 0: Line too long (145/80) (line-too-long)
C:223, 0: Line too long (106/80) (line-too-long)
C:227, 0: No space allowed before bracket
NameOfFile = NameOfFile [len (NameOfFile) - 1]
^ (bad-whitespace)
C:227, 0: No space allowed before bracket
NameOfFile = NameOfFile [len (NameOfFile) - 1]
^ (bad-whitespace)
C:229, 0: No space allowed around keyword argument assignment
LB3.config(text = "Формирование базы расценок из сметы " + NameOfFile)
^ (bad-whitespace)
C:235, 0: No space allowed around keyword argument assignment
LB3.config(text = "Ошибка открытия сметы " + NameOfFile)
^ (bad-whitespace)
C:240, 0: No space allowed before :
for x in SMSheet :
^ (bad-whitespace)
C:241, 0: No space allowed before :
if "ЛСР" in x :
^ (bad-whitespace)
C:248, 0: Line too long (100/80) (line-too-long)
C:248, 0: No space allowed around keyword argument assignment
LB3.config(text = "В смете " + NameOfFile + " отсутсвует вкладка с наименованием 'ЛСР'")
^ (bad-whitespace)
C:250, 0: Trailing whitespace (trailing-whitespace)
C:254, 0: No space allowed before bracket
for RowItem in range (1, MaxRow+1):
^ (bad-whitespace)
C:255, 0: Line too long (83/80) (line-too-long)
C:256, 0: Trailing whitespace (trailing-whitespace)
C:256, 0: No space allowed before :
for CellRow in CellRange :
^ (bad-whitespace)
C:257, 0: No space allowed before :
for Cell in CellRow :
^ (bad-whitespace)
C:258, 0: No space allowed before bracket
CellData.append (Cell.value)
^ (bad-whitespace)
C:259, 0: No space allowed before bracket
if all (x == None for x in CellData):
^ (bad-whitespace)
C:262, 0: Line too long (120/80) (line-too-long)
C:262, 0: No space allowed before bracket
if (all (x in str(CellData[SMColumnName]) for x in SMMarks)) and (" ФОТ" not in CellData[SMColumnName]):
^ (bad-whitespace)
C:263, 0: Line too long (134/80) (line-too-long)
C:263, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:263, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:263, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:263, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:263, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:263, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:263, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:264, 0: Line too long (103/80) (line-too-long)
C:265, 0: Line too long (134/80) (line-too-long)
C:265, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:265, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:265, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:265, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:265, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:265, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:265, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:266, 0: Line too long (104/80) (line-too-long)
C:267, 0: Line too long (134/80) (line-too-long)
C:267, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:267, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:267, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:267, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:267, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:267, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:267, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:268, 0: Line too long (127/80) (line-too-long)
C:268, 0: No space allowed before bracket
elif ("МАТ=" in str(CellData[SMColumnName])) and (all (x not in str(CellData[SMColumnName]) for x in SMMarks)):
^ (bad-whitespace)
C:269, 0: Line too long (134/80) (line-too-long)
C:269, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:269, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:269, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:269, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:269, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:269, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:269, 0: Exactly one space required after comma
GlobalSMTable.append([RowItem,CellData[0],CellData[2],CellData[3],CellData[4],CellData[5],CellData[9],NameOfFile])
^ (bad-whitespace)
C:272, 0: No space allowed before bracket
for SMCounter in range (0,len(GlobalSMTable)):
^ (bad-whitespace)
C:272, 0: Exactly one space required after comma
for SMCounter in range (0,len(GlobalSMTable)):
^ (bad-whitespace)
C:275, 0: Line too long (98/80) (line-too-long)
C:275, 0: Exactly one space required after comma
GlobalSMTable[SMCounter].append(QYNormalize(GlobalSMTable[SMCounter][4]).replace(".",","))
^ (bad-whitespace)
C:277, 0: Exactly one space required after comma
LIST2.delete(0,END)
^ (bad-whitespace)
C:278, 0: Trailing whitespace (trailing-whitespace)
C:283, 0: Line too long (92/80) (line-too-long)
C:287, 0: Trailing whitespace (trailing-whitespace)
C:289, 0: Exactly one space required after comma
if QYSign in ("*","/"): #,"+","-"):
^ (bad-whitespace)
C:293, 0: Trailing whitespace (trailing-whitespace)
C:298, 0: Line too long (92/80) (line-too-long)
C:299, 0: No space allowed before bracket
def ClearName (Name):
^ (bad-whitespace)
C:300, 0: Exactly one space required after comma
LeftMarks = ("Цена","ц/о","ЦО","ИНДЕКС","Индекс","МАТ=","ПЗ=",":")
^ (bad-whitespace)
C:300, 0: Exactly one space required after comma
LeftMarks = ("Цена","ц/о","ЦО","ИНДЕКС","Индекс","МАТ=","ПЗ=",":")
^ (bad-whitespace)
C:300, 0: Exactly one space required after comma
LeftMarks = ("Цена","ц/о","ЦО","ИНДЕКС","Индекс","МАТ=","ПЗ=",":")
^ (bad-whitespace)
C:300, 0: Exactly one space required after comma
LeftMarks = ("Цена","ц/о","ЦО","ИНДЕКС","Индекс","МАТ=","ПЗ=",":")
^ (bad-whitespace)
C:300, 0: Exactly one space required after comma
LeftMarks = ("Цена","ц/о","ЦО","ИНДЕКС","Индекс","МАТ=","ПЗ=",":")
^ (bad-whitespace)
C:300, 0: Exactly one space required after comma
LeftMarks = ("Цена","ц/о","ЦО","ИНДЕКС","Индекс","МАТ=","ПЗ=",":")
^ (bad-whitespace)
C:300, 0: Exactly one space required after comma
LeftMarks = ("Цена","ц/о","ЦО","ИНДЕКС","Индекс","МАТ=","ПЗ=",":")
^ (bad-whitespace)
C:312, 0: No space allowed before bracket
def CompareWordPercent (SOItem, SMItem):
^ (bad-whitespace)
C:316, 0: No space allowed before bracket
Percent = difflib.SequenceMatcher (None, SOName, SMItem[2]).ratio() * 100
^ (bad-whitespace)
C:322, 0: No space allowed before bracket
def CompareLetterPercent (SOItem, SMItem):
^ (bad-whitespace)
C:326, 0: No space allowed before bracket
SOLetterCounter = Counter (SOName)
^ (bad-whitespace)
C:327, 0: No space allowed before bracket
SMLetterCounter = Counter (SMItem[2])
^ (bad-whitespace)
C:328, 0: Line too long (92/80) (line-too-long)
C:328, 0: No space allowed before bracket
Percent = difflib.SequenceMatcher (None, SMLetterCounter, SOLetterCounter).ratio() * 100
^ (bad-whitespace)
C:334, 0: No space allowed before bracket
def CompareFuzzy (SOItem, SMItem):
^ (bad-whitespace)
C:338, 0: No space allowed before bracket
Percent = fuzz.QRatio (SOName, SMItem[2])
^ (bad-whitespace)
C:344, 0: No space allowed before bracket
def FormGlobalTable (GlobalSOTable, GlobalSMTable):
^ (bad-whitespace)
C:347, 0: Line too long (150/80) (line-too-long)
C:348, 0: Trailing whitespace (trailing-whitespace)
C:349, 0: Line too long (117/80) (line-too-long)
C:351, 0: Line too long (126/80) (line-too-long)
C:352, 0: Line too long (123/80) (line-too-long)
C:355, 0: Line too long (133/80) (line-too-long)
C:356, 0: No space allowed around keyword argument assignment
LB3.config(text = ProgressText)
^ (bad-whitespace)
C:362, 0: Line too long (168/80) (line-too-long)
C:365, 0: Trailing whitespace (trailing-whitespace)
C:368, 0: Line too long (147/80) (line-too-long)
C:368, 0: Exactly one space required after comma
TotalPercent = round(CompareWordPercent(SOItem,SMItem),10) + round(CompareWordPercent(SOItem,SMItem),10) + CompareFuzzy (SOItem,SMItem)
^ (bad-whitespace)
C:368, 0: Exactly one space required after comma
TotalPercent = round(CompareWordPercent(SOItem,SMItem),10) + round(CompareWordPercent(SOItem,SMItem),10) + CompareFuzzy (SOItem,SMItem)
^ (bad-whitespace)
C:368, 0: Exactly one space required after comma
TotalPercent = round(CompareWordPercent(SOItem,SMItem),10) + round(CompareWordPercent(SOItem,SMItem),10) + CompareFuzzy (SOItem,SMItem)
^ (bad-whitespace)
C:368, 0: Exactly one space required after comma
TotalPercent = round(CompareWordPercent(SOItem,SMItem),10) + round(CompareWordPercent(SOItem,SMItem),10) + CompareFuzzy (SOItem,SMItem)
^ (bad-whitespace)
C:368, 0: No space allowed before bracket
TotalPercent = round(CompareWordPercent(SOItem,SMItem),10) + round(CompareWordPercent(SOItem,SMItem),10) + CompareFuzzy (SOItem,SMItem)
^ (bad-whitespace)
C:368, 0: Exactly one space required after comma
TotalPercent = round(CompareWordPercent(SOItem,SMItem),10) + round(CompareWordPercent(SOItem,SMItem),10) + CompareFuzzy (SOItem,SMItem)
^ (bad-whitespace)
C:372, 0: Exactly one space required after comma
SMItemsPercent.append((SMItem,TotalPercent,QYCompareStatus))
^ (bad-whitespace)
C:372, 0: Exactly one space required after comma
SMItemsPercent.append((SMItem,TotalPercent,QYCompareStatus))
^ (bad-whitespace)
C:374, 0: Trailing whitespace (trailing-whitespace)
C:374, 0: Exactly one space required after comma
SMItemsPercent.sort(key=lambda x: x[1],reverse=True)
^ (bad-whitespace)
C:380, 0: No space allowed before bracket
PMLenght = len (PercentMatrix) - 1
^ (bad-whitespace)
C:382, 0: Unnecessary parens after 'while' keyword (superfluous-parens)
C:383, 0: Line too long (104/80) (line-too-long)
C:384, 0: No space allowed around keyword argument assignment
LB3.config(text = ProgressText)
^ (bad-whitespace)
W:391, 0: Bad indentation. Found 16 spaces, expected 12 (bad-indentation)
W:392, 0: Bad indentation. Found 16 spaces, expected 12 (bad-indentation)
C:393, 0: No space allowed before bracket
for PMCounter in range (PMPosition + 1, PMLenght + 1):
^ (bad-whitespace)
C:395, 0: No space allowed before :
if len(PMItemNext[1]) == 0 :
^ (bad-whitespace)
C:401, 0: Trailing whitespace (trailing-whitespace)
C:401, 0: Line too long (96/80) (line-too-long)
C:407, 0: Trailing whitespace (trailing-whitespace)
C:410, 0: No space allowed before :
if ChangesExist == True :
^ (bad-whitespace)
C:412, 0: Trailing whitespace (trailing-whitespace)
C:419, 0: Line too long (192/80) (line-too-long)
C:422, 0: Line too long (157/80) (line-too-long)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:422, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,None])
^ (bad-whitespace)
C:427, 0: Line too long (170/80) (line-too-long)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:427, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],None,None,None,None,None,None,None,None,None,None,None,False])
^ (bad-whitespace)
C:434, 0: Exactly one space required after comma
LocalSMPercent = round(PMItem[1][0][1],3)
^ (bad-whitespace)
C:437, 0: Line too long (243/80) (line-too-long)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:437, 0: Exactly one space required after comma
GlobalDataTable.append([SOItem[1],SOItem[2],SOItem[3],SOItem[4],SOItem[6],SOItem[0],LocalSMName,LocalSMEI,LocalSMQY,LocalSMFileName,LocalSMNumber,LocalSMPercent,None,None,LocalSMValue,LocalSMPrice,None,PMItem[1][0][2]])
^ (bad-whitespace)
C:448, 0: Line too long (93/80) (line-too-long)
C:454, 0: No space allowed around keyword argument assignment
LB3.config(text = "Ошибка открытия файла tablein.xlsx")
^ (bad-whitespace)
C:461, 0: Line too long (89/80) (line-too-long)
C:464, 0: Line too long (87/80) (line-too-long)
C:465, 0: Line too long (83/80) (line-too-long)
C:466, 0: Line too long (98/80) (line-too-long)
C:467, 0: Line too long (83/80) (line-too-long)
C:469, 0: Line too long (85/80) (line-too-long)
C:470, 0: Line too long (130/80) (line-too-long)
C:470, 0: No space allowed before bracket
TableSheet["G"+str(TableRow)].fill = PatternFill (fill_type="solid", start_color=colors.RED, end_color=colors.DARKRED)
^ (bad-whitespace)
C:471, 0: Line too long (130/80) (line-too-long)
C:471, 0: No space allowed before bracket
TableSheet["I"+str(TableRow)].fill = PatternFill (fill_type="solid", start_color=colors.RED, end_color=colors.DARKRED)
^ (bad-whitespace)
C:472, 0: Line too long (88/80) (line-too-long)
C:473, 0: Exactly one space required around comparison
if DataItem[11]<100 :
^ (bad-whitespace)
C:473, 0: No space allowed before :
if DataItem[11]<100 :
^ (bad-whitespace)
C:474, 0: Line too long (130/80) (line-too-long)
C:474, 0: No space allowed before bracket
TableSheet["G"+str(TableRow)].fill = PatternFill (fill_type="solid", start_color=colors.RED, end_color=colors.RED)
^ (bad-whitespace)
C:475, 0: Exactly one space required around comparison
elif 150>DataItem[11]>=100 :
^ (bad-whitespace)
C:475, 0: Exactly one space required around comparison
elif 150>DataItem[11]>=100 :
^^ (bad-whitespace)
C:475, 0: No space allowed before :
elif 150>DataItem[11]>=100 :
^ (bad-whitespace)
C:476, 0: Line too long (136/80) (line-too-long)
C:476, 0: No space allowed before bracket
TableSheet["G"+str(TableRow)].fill = PatternFill (fill_type="solid", start_color=colors.YELLOW, end_color=colors.YELLOW)
^ (bad-whitespace)
C:479, 0: Line too long (81/80) (line-too-long)
C:487, 0: Line too long (91/80) (line-too-long)
C:488, 0: Line too long (105/80) (line-too-long)
C:489, 0: Line too long (130/80) (line-too-long)
C:490, 0: Line too long (95/80) (line-too-long)
C:491, 0: Line too long (145/80) (line-too-long)
C:493, 0: Line too long (92/80) (line-too-long)
C:500, 0: No space allowed around keyword argument assignment
LB3.config(text = "Ошибка сохранения в файл "+TableOut)
^ (bad-whitespace)
C:502, 0: Trailing whitespace (trailing-whitespace)
C:517, 0: No space allowed before bracket
LB1 = Label (root, text="Список спецификаций для проверки", font=SetUserFont)
^ (bad-whitespace)
C:518, 0: Exactly one space required after comma
LB1.grid(row=0,column=1)
^ (bad-whitespace)
C:520, 0: Exactly one space required after comma
LIST1 = Listbox(root,font=(SetUserFont),height=5,width=50)
^ (bad-whitespace)
C:520, 0: Exactly one space required after comma
LIST1 = Listbox(root,font=(SetUserFont),height=5,width=50)
^ (bad-whitespace)
C:520, 0: Exactly one space required after comma
LIST1 = Listbox(root,font=(SetUserFont),height=5,width=50)
^ (bad-whitespace)
C:521, 0: Exactly one space required after comma
LIST1.grid(row=1,column=1)
^ (bad-whitespace)
C:533, 0: No space allowed before bracket
LB2 = Label (root, text="Список смет для проверки", font=SetUserFont)
^ (bad-whitespace)
C:534, 0: Exactly one space required after comma
LB2.grid(row=2,column=1)
^ (bad-whitespace)
C:536, 0: Exactly one space required after comma
LIST2 = Listbox(root,font=(SetUserFont),height=5,width=50)
^ (bad-whitespace)
C:536, 0: Exactly one space required after comma
LIST2 = Listbox(root,font=(SetUserFont),height=5,width=50)
^ (bad-whitespace)
C:536, 0: Exactly one space required after comma
LIST2 = Listbox(root,font=(SetUserFont),height=5,width=50)
^ (bad-whitespace)
C:537, 0: Exactly one space required after comma
LIST2.grid(row=3,column=1)
^ (bad-whitespace)
C:554, 0: No space allowed before bracket
LB3 = Label (root, text = "Информационные сообщения", font=SetUserFont)
^ (bad-whitespace)
C:554, 0: No space allowed around keyword argument assignment
LB3 = Label (root, text = "Информационные сообщения", font=SetUserFont)
^ (bad-whitespace)
C:555, 0: Exactly one space required after comma
LB3.grid(row=5,column=1)
^ (bad-whitespace)
C: 1, 0: Missing module docstring (missing-docstring)
W: 2, 0: Wildcard import tkinter (wildcard-import)
F: 8, 0: Unable to import 'openpyxl' (import-error)
F: 10, 0: Unable to import 'openpyxl.styles' (import-error)
F: 11, 0: Unable to import 'openpyxl.styles' (import-error)
F: 12, 0: Unable to import 'openpyxl.styles' (import-error)
F: 16, 0: Unable to import 'fuzzywuzzy' (import-error)
F: 17, 0: Unable to import 'fuzzywuzzy' (import-error)
C: 23, 0: Invalid function name "LoadFileSO" (invalid-name)
C: 23, 0: Invalid argument name "ev" (invalid-name)
C: 23, 0: Missing function docstring (missing-docstring)
W: 26, 8: Redefining name 'x' from outer scope (line 513) (redefined-outer-name)
C: 25, 4: Invalid variable name "FileList" (invalid-name)
C: 26, 8: Invalid variable name "x" (invalid-name)
C: 27,37: More than one statement on a single line (multiple-statements)
W: 23, 0: Unused argument 'ev' (unused-argument)
C: 32, 0: Invalid function name "LoadFileSM" (invalid-name)
C: 32, 0: Invalid argument name "ev" (invalid-name)
C: 32, 0: Missing function docstring (missing-docstring)
W: 35, 8: Redefining name 'x' from outer scope (line 513) (redefined-outer-name)
C: 34, 4: Invalid variable name "FileList" (invalid-name)
C: 35, 8: Invalid variable name "x" (invalid-name)
C: 36,37: More than one statement on a single line (multiple-statements)
W: 32, 0: Unused argument 'ev' (unused-argument)
C: 41, 0: Invalid function name "DelCurSelSO" (invalid-name)
C: 41, 0: Invalid argument name "ev" (invalid-name)
C: 41, 0: Missing function docstring (missing-docstring)
C: 42,26: More than one statement on a single line (multiple-statements)
C: 43, 4: Invalid variable name "z" (invalid-name)
C: 44,20: More than one statement on a single line (multiple-statements)
W: 41, 0: Unused argument 'ev' (unused-argument)
C: 50, 0: Invalid function name "DelCurSelSM" (invalid-name)
C: 50, 0: Invalid argument name "ev" (invalid-name)
C: 50, 0: Missing function docstring (missing-docstring)
C: 51,26: More than one statement on a single line (multiple-statements)
C: 52, 4: Invalid variable name "z" (invalid-name)
C: 53,20: More than one statement on a single line (multiple-statements)
W: 50, 0: Unused argument 'ev' (unused-argument)
C: 59, 0: Invalid function name "ButtonOff" (invalid-name)
C: 59, 0: Missing function docstring (missing-docstring)
C: 83, 0: Invalid function name "ButtonOn" (invalid-name)
C: 83, 0: Missing function docstring (missing-docstring)
C:107, 0: Invalid function name "Analyse" (invalid-name)
C:107, 0: Invalid argument name "ev" (invalid-name)
C:107, 0: Missing function docstring (missing-docstring)
C:109, 4: Invalid variable name "ListOfSO" (invalid-name)
C:110, 4: Invalid variable name "ListOfSM" (invalid-name)
C:120, 8: Invalid variable name "GlobalSOTable" (invalid-name)
C:125, 8: Invalid variable name "GlobalSMTable" (invalid-name)
C:130, 8: Invalid variable name "GlobalData" (invalid-name)
W:107, 0: Unused argument 'ev' (unused-argument)
C:148, 0: Invalid function name "FormGlobalTableSO" (invalid-name)
C:148, 0: Invalid argument name "ListOfSO" (invalid-name)
C:148, 0: Missing function docstring (missing-docstring)
R:148, 0: Too many local variables (20/15) (too-many-locals)
C:149, 4: Invalid variable name "GlobalSOTable" (invalid-name)
C:151, 4: Invalid variable name "SOColumnName" (invalid-name)
C:152, 4: Invalid variable name "SOColumnType" (invalid-name)
C:153, 4: Invalid variable name "SOColumnEI" (invalid-name)
C:154, 4: Invalid variable name "SOColumnQuantity" (invalid-name)
C:155, 4: Invalid variable name "SOColumnWeight" (invalid-name)
C:159, 8: Invalid variable name "SOFileItem" (invalid-name)
C:160, 8: Invalid variable name "NameOfFile" (invalid-name)
C:161, 8: Invalid variable name "NameOfFile" (invalid-name)
C:162, 8: Invalid variable name "NameOfFile" (invalid-name)
W:169, 8: No exception type(s) specified (bare-except)
C:168,12: Invalid variable name "SOBook" (invalid-name)
W:176, 8: No exception type(s) specified (bare-except)
C:175,12: Invalid variable name "SOSheet" (invalid-name)
C:181, 8: Invalid variable name "MaxRow" (invalid-name)
C:182, 8: Invalid variable name "MaxColumn" (invalid-name)
C:183, 8: Invalid variable name "CellData" (invalid-name)
C:184,12: Invalid variable name "RowItem" (invalid-name)
C:185,12: Invalid variable name "CellRange" (invalid-name)
C:186,57: More than one statement on a single line (multiple-statements)
C:187,12: Invalid variable name "CellData" (invalid-name)
C:188,16: Invalid variable name "CellRow" (invalid-name)
C:189,20: Invalid variable name "Cell" (invalid-name)
C:194,51: More than one statement on a single line (multiple-statements)
C:197, 8: Invalid variable name "QYCounter" (invalid-name)
C:201,12: Invalid variable name "QYNorm" (invalid-name)
R:148, 0: Too many branches (13/12) (too-many-branches)
C:211, 0: Invalid function name "FormGlobalTableSM" (invalid-name)
C:211, 0: Invalid argument name "ListOfSM" (invalid-name)
C:211, 0: Missing function docstring (missing-docstring)
W:240,12: Redefining name 'x' from outer scope (line 513) (redefined-outer-name)
R:211, 0: Too many local variables (22/15) (too-many-locals)
C:212, 4: Invalid variable name "SMMarks" (invalid-name)
C:213, 4: Invalid variable name "SMColumnPos" (invalid-name)
C:214, 4: Invalid variable name "SMColumnName" (invalid-name)
C:215, 4: Invalid variable name "SMColumnEI" (invalid-name)
C:216, 4: Invalid variable name "SMColumnQuantity" (invalid-name)
C:217, 4: Invalid variable name "SMColumnPrice" (invalid-name)
C:219, 4: Invalid variable name "GlobalSMTable" (invalid-name)
C:224, 8: Invalid variable name "SMFileItem" (invalid-name)
C:225, 8: Invalid variable name "NameOfFile" (invalid-name)
C:226, 8: Invalid variable name "NameOfFile" (invalid-name)
C:227, 8: Invalid variable name "NameOfFile" (invalid-name)
W:234, 8: No exception type(s) specified (bare-except)
C:233,12: Invalid variable name "SMBook" (invalid-name)
C:239, 8: Invalid variable name "SMSheet" (invalid-name)
C:240,12: Invalid variable name "x" (invalid-name)
C:242,16: Invalid variable name "SMSheet" (invalid-name)
W:247, 8: No exception type(s) specified (bare-except)
C:246,12: Invalid variable name "MaxRow" (invalid-name)
C:252, 8: Invalid variable name "MaxColumn" (invalid-name)
C:253, 8: Invalid variable name "CellData" (invalid-name)
C:254,12: Invalid variable name "RowItem" (invalid-name)
C:255,12: Invalid variable name "CellRange" (invalid-name)
C:256,16: Invalid variable name "CellRow" (invalid-name)
C:257,20: Invalid variable name "Cell" (invalid-name)
C:260,16: Invalid variable name "CellData" (invalid-name)
C:270,16: Invalid variable name "CellData" (invalid-name)
C:272, 8: Invalid variable name "SMCounter" (invalid-name)
C:273, 8: Invalid variable name "NameNormalize" (invalid-name)
W:216, 4: Unused variable 'SMColumnQuantity' (unused-variable)
W:215, 4: Unused variable 'SMColumnEI' (unused-variable)
W:217, 4: Unused variable 'SMColumnPrice' (unused-variable)
W:213, 4: Unused variable 'SMColumnPos' (unused-variable)
R:211, 0: Too many branches (15/12) (too-many-branches)
C:284, 0: Invalid function name "QYNormalize" (invalid-name)
C:284, 0: Invalid argument name "QYInput" (invalid-name)
C:284, 0: Missing function docstring (missing-docstring)
C:285, 4: Invalid variable name "QYOut" (invalid-name)
C:286, 4: Invalid variable name "QYOut" (invalid-name)
C:288, 8: Invalid variable name "QYSign" (invalid-name)
C:290,12: Invalid variable name "QYOut" (invalid-name)
C:291,12: Invalid variable name "QYOut" (invalid-name)
C:292,12: Invalid variable name "QYOut" (invalid-name)
C:299, 0: Invalid function name "ClearName" (invalid-name)
C:299, 0: Invalid argument name "Name" (invalid-name)
C:299, 0: Missing function docstring (missing-docstring)
C:300, 4: Invalid variable name "LeftMarks" (invalid-name)
C:301, 8: Invalid variable name "Mark" (invalid-name)
C:303,12: Invalid variable name "NameOut" (invalid-name)
C:306,12: Invalid variable name "NameOut" (invalid-name)
C:312, 0: Invalid function name "CompareWordPercent" (invalid-name)
C:312, 0: Invalid argument name "SOItem" (invalid-name)
C:312, 0: Invalid argument name "SMItem" (invalid-name)
C:312, 0: Missing function docstring (missing-docstring)
C:313, 4: Invalid variable name "SOName" (invalid-name)
C:315, 8: Invalid variable name "SOName" (invalid-name)
C:316, 4: Invalid variable name "Percent" (invalid-name)
C:322, 0: Invalid function name "CompareLetterPercent" (invalid-name)
C:322, 0: Invalid argument name "SOItem" (invalid-name)
C:322, 0: Invalid argument name "SMItem" (invalid-name)
C:322, 0: Missing function docstring (missing-docstring)
C:323, 4: Invalid variable name "SOName" (invalid-name)
C:325, 8: Invalid variable name "SOName" (invalid-name)
C:326, 4: Invalid variable name "SOLetterCounter" (invalid-name)
C:327, 4: Invalid variable name "SMLetterCounter" (invalid-name)
C:328, 4: Invalid variable name "Percent" (invalid-name)
C:334, 0: Invalid function name "CompareFuzzy" (invalid-name)
C:334, 0: Invalid argument name "SOItem" (invalid-name)
C:334, 0: Invalid argument name "SMItem" (invalid-name)
C:334, 0: Missing function docstring (missing-docstring)
C:335, 4: Invalid variable name "SOName" (invalid-name)
C:337, 8: Invalid variable name "SOName" (invalid-name)
C:338, 4: Invalid variable name "Percent" (invalid-name)
C:344, 0: Invalid function name "FormGlobalTable" (invalid-name)
C:344, 0: Invalid argument name "GlobalSOTable" (invalid-name)
C:344, 0: Invalid argument name "GlobalSMTable" (invalid-name)
C:344, 0: Missing function docstring (missing-docstring)
R:344, 0: Too many local variables (27/15) (too-many-locals)
C:346, 4: Invalid variable name "GlobalDataTable" (invalid-name)
C:347, 4: Invalid variable name "PercentMatrix" (invalid-name)
C:354, 8: Invalid variable name "SOItem" (invalid-name)
C:355, 8: Invalid variable name "ProgressText" (invalid-name)
C:359, 8: Invalid variable name "SOItemPercent" (invalid-name)
C:360, 8: Invalid variable name "SMItemsPercent" (invalid-name)
C:362,30: More than one statement on a single line (multiple-statements)
C:366,12: Invalid variable name "SMItem" (invalid-name)
C:367,12: Invalid variable name "QYCompareStatus" (invalid-name)
C:368,12: Invalid variable name "TotalPercent" (invalid-name)
C:370,16: Invalid variable name "TotalPercent" (invalid-name)
C:371,16: Invalid variable name "QYCompareStatus" (invalid-name)
C:379, 4: Invalid variable name "PMPosition" (invalid-name)
C:380, 4: Invalid variable name "PMLenght" (invalid-name)
C:383, 8: Invalid variable name "ProgressText" (invalid-name)
C:387, 8: Invalid variable name "ChangesExist" (invalid-name)
C:389, 8: Invalid variable name "PMItemFirst" (invalid-name)
C:391,16: Invalid variable name "PMPosition" (invalid-name)
C:393,12: Invalid variable name "PMCounter" (invalid-name)
C:394,12: Invalid variable name "PMItemNext" (invalid-name)
C:397,16: Invalid variable name "SMItemCounter" (invalid-name)
C:402,28: Invalid variable name "ChangesExist" (invalid-name)
C:416,12: Invalid variable name "PMPosition" (invalid-name)
C:420, 8: Invalid variable name "SOItem" (invalid-name)
C:424,16: Invalid variable name "PMItem" (invalid-name)
C:429,24: Invalid variable name "LocalSMName" (invalid-name)
C:430,24: Invalid variable name "LocalSMEI" (invalid-name)
C:431,24: Invalid variable name "LocalSMQY" (invalid-name)
C:432,24: Invalid variable name "LocalSMPrice" (invalid-name)
C:433,24: Invalid variable name "LocalSMValue" (invalid-name)
C:434,24: Invalid variable name "LocalSMPercent" (invalid-name)
C:435,24: Invalid variable name "LocalSMNumber" (invalid-name)
C:436,24: Invalid variable name "LocalSMFileName" (invalid-name)
R:344, 0: Too many branches (23/12) (too-many-branches)
R:344, 0: Too many statements (66/50) (too-many-statements)
C:445, 0: Invalid function name "WriteToFile" (invalid-name)
C:445, 0: Invalid argument name "Data" (invalid-name)
C:445, 0: Missing function docstring (missing-docstring)
C:446, 4: Invalid variable name "TableName" (invalid-name)
C:448, 4: Invalid variable name "TableOut" (invalid-name)
C:449, 4: Invalid variable name "TableRow" (invalid-name)
W:453, 4: No exception type(s) specified (bare-except)
C:452, 8: Invalid variable name "TableBook" (invalid-name)
C:458, 4: Invalid variable name "TableSheet" (invalid-name)
C:460, 8: Invalid variable name "DataItem" (invalid-name)
C:482,12: Invalid variable name "ChangeFontColor" (invalid-name)
C:483,12: Invalid variable name "FontColor" (invalid-name)
C:494, 8: Invalid variable name "TableRow" (invalid-name)
C:495, 4: Invalid variable name "TableRow" (invalid-name)
W:499, 4: No exception type(s) specified (bare-except)
C:509, 0: Invalid constant name "SetUserFont" (invalid-name)
C:511, 0: Invalid constant name "root" (invalid-name)
C:513, 0: Invalid constant name "x" (invalid-name)
C:514, 0: Invalid constant name "y" (invalid-name)
W: 2, 0: Unused import PanedWindow from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import image_types from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import StringVar from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Image from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import INSIDE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import LabelFrame from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import PROJECTING from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SW from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SINGLE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import UNITS from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import OptionMenu from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NoDefaultRoot from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import warnings from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Frame from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import re from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Message from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import IntVar from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NS from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import OUTSIDE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Menu from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import AtSelFirst from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import X from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Misc from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import PAGES from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import MOVETO from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import ON from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import HIDDEN from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Checkbutton from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import getdouble from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Scrollbar from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Grid from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SOLID from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import RIGHT from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Tcl from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BitmapImage from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import CHAR from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import LEFT from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SEL_FIRST from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Text from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BooleanVar from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Widget from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import ACTIVE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import DOTBOX from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BASELINE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Wm from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Radiobutton from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Canvas from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BaseWidget from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import AtInsert from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import CallWrapper from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Pack from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import YView from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import TRUE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import RIDGE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BOTH from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import DoubleVar from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import COMMAND from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import VERTICAL from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import HORIZONTAL from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import At from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import ROUND from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import getint from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import CURRENT from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import FLAT from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import W from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import WORD from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Toplevel from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SEL from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BUTT from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import getboolean from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import FIRST from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import AtSelLast from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SEPARATOR from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import RAISED from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import TclVersion from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import TclError from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import MITER from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Event from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import XView from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import ALL from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SUNKEN from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import CHECKBUTTON from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import LAST from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import image_names from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import WRITABLE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Menubutton from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Spinbox from wildcard import (unused-wildcard-import)
W: 17, 0: Unused import process (unused-import)
W: 2, 0: Unused import CASCADE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import UNDERLINE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Studbutton from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import INSERT from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import EXCEPTION from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import CENTER from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BEVEL from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import YES from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import RADIOBUTTON from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import ARC from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Entry from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import READABLE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import N from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import mainloop from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import EW from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Place from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import wantobjects from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SEL_LAST from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NONE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import S from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Button from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NO from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import OFF from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BOTTOM from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import AtEnd from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Tributton from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NW from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import PhotoImage from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import TkVersion from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import sys from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import ANCHOR from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NSEW from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Scale from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import SCROLL from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import TOP from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Y from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import EXTENDED from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import CHORD from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import MULTIPLE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import NUMERIC from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import BROWSE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import FALSE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import Variable from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import E from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import PIESLICE from wildcard import (unused-wildcard-import)
W: 2, 0: Unused import GROOVE from wildcard import (unused-wildcard-import)
Report
======
399 statements analysed.
Statistics by type
------------------
+---------+-------+-----------+-----------+------------+---------+
|type |number |old number |difference |%documented |%badname |
+=========+=======+===========+===========+============+=========+
|module |1 |1 |= |0.00 |0.00 |
+---------+-------+-----------+-----------+------------+---------+
|class |0 |0 |= |0 |0 |
+---------+-------+-----------+-----------+------------+---------+
|method |0 |0 |= |0 |0 |
+---------+-------+-----------+-----------+------------+---------+
|function |16 |16 |= |0.00 |100.00 |
+---------+-------+-----------+-----------+------------+---------+
Duplication
-----------
+-------------------------+------+---------+-----------+
| |now |previous |difference |
+=========================+======+=========+===========+
|nb duplicated lines |0 |0 |= |
+-------------------------+------+---------+-----------+
|percent duplicated lines |0.000 |0.000 |= |
+-------------------------+------+---------+-----------+
Messages by category
--------------------
+-----------+-------+---------+-----------+
|type |number |previous |difference |
+===========+=======+=========+===========+
|convention |463 |463 |= |
+-----------+-------+---------+-----------+
|refactor |7 |7 |= |
+-----------+-------+---------+-----------+
|warning |157 |157 |= |
+-----------+-------+---------+-----------+
|error |0 |0 |= |
+-----------+-------+---------+-----------+
Messages
--------
+-----------------------+------------+
|message id |occurrences |
+=======================+============+
|bad-whitespace |200 |
+-----------------------+------------+
|invalid-name |160 |
+-----------------------+------------+
|unused-wildcard-import |135 |
+-----------------------+------------+
|line-too-long |60 |
+-----------------------+------------+
|missing-docstring |17 |
+-----------------------+------------+
|trailing-whitespace |16 |
+-----------------------+------------+
|multiple-statements |9 |
+-----------------------+------------+
|import-error |6 |
+-----------------------+------------+
|bare-except |6 |
+-----------------------+------------+
|unused-argument |5 |
+-----------------------+------------+
|unused-variable |4 |
+-----------------------+------------+
|too-many-locals |3 |
+-----------------------+------------+
|too-many-branches |3 |
+-----------------------+------------+
|redefined-outer-name |3 |
+-----------------------+------------+
|bad-indentation |2 |
+-----------------------+------------+
|wildcard-import |1 |
+-----------------------+------------+
|unused-import |1 |
+-----------------------+------------+
|too-many-statements |1 |
+-----------------------+------------+
|superfluous-parens |1 |
+-----------------------+------------+
Global evaluation
-----------------
Your code has been rated at -5.71/10 (previous run: -5.71/10, +0.00)
Raw metrics
-----------
+----------+-------+------+---------+-----------+
|type |number |% |previous |difference |
+==========+=======+======+=========+===========+
|code |389 |80.04 |389 |= |
+----------+-------+------+---------+-----------+
|docstring |1 |0.21 |1 |= |
+----------+-------+------+---------+-----------+
|comment |29 |5.97 |29 |= |
+----------+-------+------+---------+-----------+
|empty |67 |13.79 |67 |= |
+----------+-------+------+---------+-----------+
[guest@localhost SmChecker]$
Отредактировано py.user.next (Дек. 31, 2016 08:03:58)
Офлайн