Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для новичков » помогите с записью в .xls файл » Дек. 25, 2015 12:13:15

Задача: прочитать из столбца “С” длинное наименование, содержащее в первых символах строки артикул и записать его в столбец “В”.
ниже привожу коды. все читает. артикул выделяет правильно, а в файл не записывает.
Помогите пожалуйста найти ошибку и исправить. может я что то не так совсем делаю?




import xlwt, xlrd
import xlsxwriter
rb = xlrd.open_workbook(r“c:\pyt\000.xls”)
workbook = xlsxwriter.Workbook('C:\pyt\000.xls')
worksheet = workbook.add_worksheet()
sheet = rb.sheet_by_index(0)
print (sheet)
i=0
ii=0
k=0
VC=
tmp=

# выделяем столбец с артикулом и вырезаем из строки артикул
for ii in range(sheet.nrows):
value_c=sheet.cell_value(ii,2)
for k in range(100):
if value_c == “ ”:
art = value_c

worksheet.write(ii,1,art)
break
k+=1

Python для экспертов » Mock классов и методов » Дек. 23, 2015 23:48:35

Продолжаю разбираться с этой бедой, и вот, что имею (Python 2.7):

1)
from mock import Mock, patch, create_autospec
 
class A(object):
    def func1(self, arg):
        return arg
 
 
class B(object):
    def func1(self, arg):
        a = A()
        return "=== %s ===" % a.func1(arg)
 
 
b = B()
print b.func1("hello") # === hello ===
 
mocked_A = create_autospec(A)
ma = mocked_A()
print ma.func1("hello") # <MagicMock bla-bla-bla'>
 
ma.func1.return_value = "world"
print ma.func1("hello") # world
 
globals()['A'] = mocked_A
b = B()
print b.func1("hello") # === world ===

Вывод:
=== hello ===
<MagicMock name='mock().func1()' id='3070641676'>
world
=== world ===

2) если же, вместо
ma.func1.return_value = "world"
написать
mocked_A.func1.return_value = "world"
, что казалось бы логичнее, так как вроде патчим именно класс, а не экземпляр, то будет вот так:

from mock import Mock, patch, create_autospec
 
class A(object):
    def func1(self, arg):
        return arg
 
 
class B(object):
    def func1(self, arg):
        a = A()
        return "=== %s ===" % a.func1(arg)
 
 
b = B()
print b.func1("hello") # === hello ===
 
mocked_A = create_autospec(A)
ma = mocked_A()
print ma.func1("hello") # <MagicMock bla-bla-bla'>
 
mocked_A.func1.return_value = "world"
print ma.func1("hello") # world
 
globals()['A'] = mocked_A
b = B()
print b.func1("hello") # === world ===

Вывод:

=== hello ===
<MagicMock name='mock().func1()' id='3070903788'>
<MagicMock name='mock().func1()' id='3070903788'>
=== <MagicMock name='mock().func1()' id='3070903788'> ===

Видимо, Я здесь что-то недопонял. Как же так работает этот mock? Почему? Мне нужно поведение, как в 1-м варианте, что в принципе добился, но ещё не до конца протестил на настоящих модулях и классах (да, оно связано с предыдущим вопросом). Или может подскажете хотя бы нормальный гайд, ибо в оффициальной документации таких интересных случаев не разбирают.

Python для новичков » SSL-клиент с использованием socket » Дек. 22, 2015 11:23:29

Всем добрый день!
Стоит задача написать самый простой SSL-клиент с использованием socket
import socket, ssl
''' write a SSL client using a socket '''
host = "www.verisign.com"
port = 443
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
wrapped_socket = ssl.wrap_socket(s)
wrapped_socket.connect((host, port))
print(repr(wrapped_socket.getpeername()))
wrappedSocket.send(b"HEAD / HTTP/1.0\r Host: www.verisign.com\r\nUser-agent: Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\r\n\r\n")
string = wrapped_socket.recv(1024)
#data = wrapped_socket.read()
#print(data)
print(string)
wrapped_socket.close()
Не могу понять, почему от сервера приходят только заголовки. Требуется получить и тело страницы.
('72.13.63.55', 443)
b'HTTP/1.1 200 OK\r\nDate: Tue, 22 Dec 2015 09:21:15 GMT\r\nServer: Apache\r\nSet-Cookie: JSESSIONID=C2FC6726DEAD0B6270F8E444E5B15C63.brn1lxwwwapp03; Path=/; Secure; HttpOnly\r\nSet-Cookie: locale-name=en_US; Version=1; Comment=“User\'s choice to override their browser\'s default locales.”; Max-Age=999999999; Expires=Fri, 30-Aug-2047 11:07:54 GMT; Path=/\r\nContent-Language: en-US\r\nVary: Accept-Encoding\r\nConnection: close\r\nContent-Type: text/html;charset=UTF-8\r\n\r\n

Python для новичков » модуль rucaptcha python 3.4 » Дек. 19, 2015 20:00:38

Проблема с модулем rucaptcha rucaptcha python 3.4

Проблема в том что когда приходит ответ от сервера rucaptcha: ERROR_CAPTCHA_UNSOLVABLE, то скрипт после этого стает нерабочим, конкретнее: выполняется бесконечный цикл

while not value.is_ready():
        time.sleep(2)

Как сделать чтобы при получении ответа ERROR_CAPTCHA_UNSOLVABLE, капча снова отправлялась на сервер rucaptcha для распознания?

Код который запускает обработку капчи:
import ru_captcha_python_3_4, time
ru_captcha = ru_captcha3.RUCaptcha(apikey="KEY")
value = ru_captcha.parse(path="img.jpg")
while not value.is_ready():
      time.sleep(2)
ru_captcha.dispose()
print(value.get_value())

GUI » как правильно использовать стили (css) в PyQt ? » Дек. 18, 2015 18:20:04

есть два виджета (QGraphicsView) внешний вид которых отличается
пример файла css:

LeftDisplay {
    border-right: 5px solid #b6b6b6;
    border-left: 5px solid #b6b6b6;
    border-top: 5px solid #b6b6b6;
    border-bottom: 5px solid #b6b6b6;
}
RightDisplay {
    border-right: 5px solid #b6b6b6;
    border-left: none;
    border-top: 5px solid #b6b6b6;
    border-bottom: 5px solid #b6b6b6;
}

в коде создал два класса LeftDisplay и RightDisplay
class Display(QtGui.QGraphicsView):
    def __init__(self, *__args):
        super().__init__(*__args)
#------------------------------------------
class LeftDisplay(Display):
    def __init__(self, *__args):
        super().__init__(*__args)
#------------------------------------------
class RightDisplay(Display):
    def __init__(self, *__args):
        super().__init__(*__args)
#------------------------------------------
class BaseWindow(QtGui.QWidget):
    def __init__(self):
        super().__init__()
        self.box = QtGui.QHBoxLayout(self)
        self.box.setSpacing(0)
        self.lview = LeftDisplay()
        self.rview = RightDisplay()
        self.box.addWidget(self.lview)
        self.box.addWidget(self.rview)

правильно так делать? Или есть другой подход?

Python для новичков » No module named expat; use SimpleXMLTreeBuilder instead » Дек. 17, 2015 13:35:01

Всем доброго дня!

Уважаемые специалисты, подскажите, пожалуйста, куда “копать”…
OS - CentOs 7
Python - 2.7.5

Получаю такое сообщение: “No module named expat; use SimpleXMLTreeBuilder instead”, если запускаю его через apache2 (mod_wsgi). Однако, если открыть консоль питона и написать from xml.parsers import expat, то все работает без эксцепта. Пробовал менять юзера, от которого запускается апачи, не помогло.

Подскажите, что может быть причиной?

Python для новичков » requests post body » Дек. 15, 2015 15:55:18

 adr = 'https://X.X.X.X/api/v1/live/cc'
    data_str = {'f':'3','v':'0'}
    headers_str = {'user-agent': 'XXXXXXXX'}
    r = requests.get(adr, verify=False, data = data_str, headers=headers_str)

Делаю запрос как выше. С webforms куда сувать понятно в data, но не понятно куда сувать body, сниф из фидлера в приложении

Django » HtmlCalendar, formatmonth(year, month) и форма выбора месяца и года для календаря. » Дек. 15, 2015 13:05:46

Решил на страницу добавить календарь, через HttpResponse вывод получился.
Решил добавить форму выбора месяца и года для календаря - получилось! А теперь, когда пытаюсь объединить это вместе, календарь превращается в
<table border="0" cellpadding="0" cellspacing="0" class="month">
<tr><th colspan="7" class="month">December 2015</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="tue">1</td><td class="wed">2</td><td class="thu">3</td><td class="fri">4</td><td class="sat">5</td><td class="sun">6</td></tr>
и т.д. Какой функцией передачи ответа от сервера нужно пользоваться?
def left(request, year = None, month = None):
    if request.POST:
        form = kalendar(request.POST)
        if form.is_valid():
            dd = form.cleaned_data
            month = int(dd['month'])
            year  = dd['year']
            cal   = calendar.HTMLCalendar(0)
            calend = cal.formatmonth(year, month)
            print '+++', calend, cal
            return HttpResponse('html/left.html', calend) 
            #return render_to_response('html/left.html',locals())
            #return render(request, 'html/left.html', {'form': form},)
    else:
        form = kalendar()
    return render(request, 'html/left.html', {'form': form})
    if year == None and month == None:	
        now_date=datetime.date.today()
        year= now_date.year
        month = now_date.month
        cal   = calendar.HTMLCalendar(0)
        calend = cal.formatmonth(year, month)
        print '==', year, month, calend
        return render_to_response('html/left.html',locals())

Принцип такой: если в форме ничего не выбрано, то календарь на сегодняшнюю дату.

Давайте упрощу вопрос: как передать в шаблон словарь {'form': form} и
calend одновременно (в одном ответе)

           cal   = calendar.HTMLCalendar(0)
            calend = cal.formatmonth(year, month)

Python для экспертов » Python-pptx разные цвета для категорий » Дек. 15, 2015 10:21:11

Привет!

Я использую библиотеку python-pptx для создания презентаций, разбираю пример:
http://python-pptx.readthedocs.org/en/latest/user/charts.html

для круговой диаграммы:

chart_data = ChartData()
chart_data.categories = ['West', 'East', 'North', 'South', 'Other']
chart_data.add_series('Series 1', (0.135, 0.324, 0.180, 0.235, 0.126))
chart = slide.shapes.add_chart(
    XL_CHART_TYPE.PIE, x, y, cx, cy, chart_data
).chart
chart.has_legend = True
chart.legend.position = XL_LEGEND_POSITION.BOTTOM
chart.legend.include_in_layout = False
chart.plots[0].has_data_labels = True
data_labels = chart.plots[0].data_labels
data_labels.number_format = '0%'
data_labels.position = XL_LABEL_POSITION.OUTSIDE_END

но мне непонятно как там назначать свои цвета на каждый сектор, у меня выводятся какие-то стандартные.
Например, как сделать чтобы west был оранжевый, east синий, north серый, south красный, other коричневый?
Может кто-то знает?

Центр помощи » Написать функции для считывания и записи данных  » Дек. 14, 2015 16:23:28

Написать функции для считывания и записи данных о выбранных сущностях в файл в формате XML. В качестве входных данных дается имя файла, на выходе получается список или словарь объектов классов. Данные в XML-файле и полученные на их основе объекты должны иметь иерархическую структуру.

Классы объектов:
Клиенты (Клиент, Фамилия, Имя, Отчество, Паспортные данные, Комментарий).
Номера (Номер, Количество человек, Комфортность, Цена).
Поселение (Клиент, Номер, Дата поселения, Дата освобождения, Примечание).

Задание нужно в среду

Пример выполнения
Текст файла XML:
1 <library>
2 <author code=“0” surname=“Хорн” name=“Роджер” shortname=“Р”/>
3 <author code=“1” surname=“Джонсон” name=“Чарльз” shortname=“Ч”/>
4 <author code=“2” surname=“Сузи” name=“Роман” shortname=“Р” shortsecname=“А”/>
5 <author code=“3” surname=“Мякишев” name=“Геннадий” secname=“Яковлевич” shortname=“Г” shortsecname=“Я”/>
6 <author code=“4” surname=“Буховцев” name=“Борис” secname=“Борисович” shortname=“Б” shortsecname=“Б”/>
7
8 <publ code=“0” name=’Москва “Мир”’ shortname=“М.: Мир”/>
9 <publ code=“1” name=’Санкт-Петербург “БХВ-Петербург”’ shortname=“СПб.: БХВ-Петербург”/>
10 <publ code=“2” name=’Москва “Просвещение”’ shortname=“М.: Просвещение”/>
11
12 <book code=“0” name=’Матричный анализ’ year=’1989’ pages=’655’ publ=’0’>
13 <author code=’0’/>
14 <author code=’1’/>
15 </book>
16
17 <book code=“1” name=’Python’ year=’2002’ pages=’768’ publ=’1’>
18 <author code=’2’/>
19 </book>
20
21 <book code=“2” name=’Физика: Учебник для 11 класса средней школы’ year=’1991’ pages=’254’ publ=’2’>
22 <author code=’3’/>
23 <author code=’4’/>
24 </book>
25 </library>

1 #-*- coding:utf-8 -*-
2 import os,xml.dom.minidom
3 from prim1 import author,publ,book
5 class library:
6 def __init__(self,datafile=prim2.xml,output=prim2out.xml):
7 self.__datafile=datafile
8 self.__output=output
9 self.__books=[]
10 self.__authors=[]
11 self.__publs=[]
12 def getdatafile(self):return self.__datafile
13 def appendbook(self,value):self.__books.append(value)
14 def appendauthor(self,value):self.__authors.append(value)
15 def appendpubl(self,value):self.__publs.append(value)
16 def readdata(self):
17 dom=xml.dom.minidom.parse(self.__datafile)
18 dom.normalize()
19 for node in dom.childNodes[0].childNodes:
20 if (node.nodeType==node.ELEMENT_NODE)and(node.nodeName==author):
21 self.appendauthor(author())
22 for t in node.attributes.items():
23 if t[0]=="code":self.__authors[-1].setcode(int(t[1]))
24 if t[0]=="name":self.__authors[-1].setname(t[1])
25 if t[0]=="surname":self.__authors[-1].setsurname(t[1])
26 if t[0]=="secname":self.__authors[-1].setsecname(t[1])
27 if t[0]=="shortname":self.__authors[-1].setshortname(t[1])
28 if t[0]=="shortsecname":self.__authors[-1].setshortsecname(t[1])
29 if (node.nodeType==node.ELEMENT_NODE)and(node.nodeName==publ):
30 self.appendpubl(publ())
31 for t in node.attributes.items():
32 if t[0]=="code":self.__publs[-1].setcode(int(t[1]))
33 if t[0]=="name":self.__publs[-1].setname(t[1])
34 if t[0]=="shortname":self.__publs[-1].setshortname(t[1])
35 if (node.nodeType==node.ELEMENT_NODE)and(node.nodeName==book):
36 self.appendbook(book())
37 for t in node.attributes.items():
38 if t[0]=="code":self.__books[-1].setcode(int(t[1]))
39 if t[0]=="name":self.__books[-1].setname(t[1])
40 if t[0]=="year":self.__books[-1].setyear(int(t[1]))
41 if t[0]=="pages":self.__books[-1].setpages(int(t[1]))
42 if t[0]=="publ":
43 l=[p for p in lib.__publs if p.getcode()==int(t[1])]
44 if l:self.__books[-1].setpubl(l[0])
45 for n in node.childNodes:
46 if (n.nodeType==n.ELEMENT_NODE)and(n.nodeName==author):
47 for t in n.attributes.items():
48 if t[0]=="code":
49 l=[a for a in lib.__authors if a.getcode()==int(t[1])]
50 if l:self.__books[-1].appendauthor(l[0])
51 def writedata(self):
52 dom=xml.dom.minidom.Document()
53 root=dom.createElement("library")
54 dom.appendChild(root)
55 for a in self.__authors:
56 aut=dom.createElement("author")
57 aut.setAttribute(code,str(a.getcode()))
58 aut.setAttribute(surname,a.getsurname())
59 aut.setAttribute(name,a.getname())
60 aut.setAttribute(secname,a.getsecname())
61 aut.setAttribute(shortname,a.getshortname())
62 aut.setAttribute(shortsecname,a.getshortsecname())
63 root.appendChild(aut)
64 for p in self.__publs:
65 pub=dom.createElement("publ")
66 pub.setAttribute(code,str(p.getcode()))
67 pub.setAttribute(name,p.getname())
68 pub.setAttribute(shortname,p.getshortname())
69 root.appendChild(pub)
70 for b in self.__books:
71 bk=dom.createElement("book")
72 bk.setAttribute(code,str(b.getcode()))
73 bk.setAttribute(name,b.getname())
74 bk.setAttribute(year,str(b.getyear()))
75 bk.setAttribute(pages,str(b.getpages()))
76 bk.setAttribute(publ,str(b.getpublcode()))
77 for a in b.getauthorcodelist():
78 aut=dom.createElement("author")
79 aut.setAttribute(code,str(a))
80 bk.appendChild(aut)
81 root.appendChild(bk)
82 f = open(self.__output,"w")
83 f.write(dom.toprettyxml(encoding=utf-8))
84 def getbibliostrs(self):return [b.getbibliostr() for b in self.__books]
85
86 lib=library()
87 lib.readdata()
88 for s in lib.getbibliostrs():
89 print s
90 lib.writedata()

Python для новичков » Подвисает поток » Дек. 12, 2015 19:58:50

Написал небольшой код по решению нижеописанной задачи. Программа подвиcает в самый разный момент. Прошу помочь внести ясность. Попытаюсь изложить все более-менее упрощенно.
Цель: Выводит текущее положении курсора на экране и время сколько он в этом положении пробыл. При нажатии Crtl, прерывать прерывать выполнение, затем выводить координату курсора в момент нажатия Crtl и дальше продолжать делать как на предыдущем шаге. То есть писать координаты.
Текущее решение: Написал все с использованием двух потоков. Первый, непрерывно пишет кординаты, второй перехватывает нажатие клавиш. Если было нажатие, первый поток выводит кординату, второй поток ждет. Далее первый поток снимает ожидание и все продолжает в штатном режиме до следующего нажатия Crtl.
Проблема. Все вроде бы работает, но в некоторый момент может зависать на этапе нажатия кнопки Crtl. Я использовал threading.event(), читал про некоторые сложности с ним, мол может сбрасываться теряться событие и пр. Может это как то быть связано с моим случаем? Да и вообще, может как то можно более надежно решить мою задачу не отходя сильно от идеи двух потоков…

import pyautogui, time, pyxhook, threading
class MouseKeybEvents():
    def __init__(self):
        self.running=True
#   Отслеживает положение курсора
    def traceCoursor(self):
        lastPos=pyautogui.position()
        
        while self.mustFinish == False:
            currPos=pyautogui.position()
            time.sleep(0.1)
            if lastPos == currPos and self.keyPressed == False:
                if self.timerLock == False:
                    self.timerStart()
                
            else:
#                import pdb;  pdb.set_trace()
                posTime=round(self.timerStop(),1)
                print(lastPos,posTime)
                timerLock=False
                self.resetTimer()
                self.event.clear()
                self.event.set()
               
            lastPos=currPos
    
#   Инициализирует метод OnKeyboardEvent
    def catchKeyPress(self):
            hm = pyxhook.HookManager()
            hm.KeyDown = self.OnKeyboardEvent
            hm.HookKeyboard()
            hm.start()
            while self.running:
                time.sleep(0.1)
            hm.cancel()
            
#    Метод опрелеябщий события нажатия кнопок клавиатуры
    def OnKeyboardEvent(self,event):
            #print(event.Key, event.Ascii)
            if event.Ascii == 32:
                self.running = False
                self.mustFinish = True
            elif event.Key == 'Control_L':
                self.keyPressed=True
                #print(self.event.is_set())
                print(self.event.clear())
                self.event.wait(1.0)
                print(pyautogui.position(), ' LClick')
                self.event.clear()
                self.keyPressed=False              
#   Сей объект класса посвящен таймеру
class Timer(MouseKeybEvents):
    keyPressed=False
    startTime=0
    timerLock=False
    event=threading.Event()
    mustFinish=False
    
#    Ставит базовую точку времени с которой начинается отсчет
    def timerStart(self):
        self.timerLock=True
        self.resetTimer()
        self.keyPressed=False
        
#    Останавливает таймер, возвращает разницу времени в секундах между запуском
#    и остановкой
    def timerStop(self):
        self.timerLock=False
        timePassed=time.time() - self.startTime
        
        return timePassed
    
#    Сбрасывает таймер, выставляя значение таймера на 0
    def resetTimer(self):
        self.startTime=time.time()
class ThreadController(Timer):
    def createThreads(self):
        th1=threading.Thread(target=self.traceCoursor)
        th2=threading.Thread(target=self.catchKeyPress)
        th1.start()
        th2.start()
if __name__ == '__main__':
    a = ThreadController()
    a.createThreads()

Python проекты » qmmp_web - flask приложение, веб интерфейс к аудиоплееру QMMP » Дек. 12, 2015 04:13:36

Небольшой проект, написанный для собственных нужд, и , по совместительству, для изучения flask.
Цель проекта очевидна - управление плеером через HTTP. Я его использую через смартфон что бы переключать треки когда нахожусь в другой комнате, в беспроводных наушниках.
Исходный код доступен на битбакете https://bitbucket.org/john_16/qmmp_web

К проекту можно присоединиться, связавшись с автором. На данный момент очевидно нужен кто то на фронтэнд, что бы выглядело все красиво.

Сам проект пока что на начальной стадии, к веб серверу пока что подключать не надо - работать не будет, пока что.

Django » Ошибка flake8 » Дек. 10, 2015 17:58:31

Здравствуйте! Помогите пожалуйста разобратсья с ошибкой в файле
__init__.py:

    from .common import *
    try:
        from .local import *
    except ImportError:
        pass

Код ошибки:

    flake8 --exclude '*migrations*' apps fortytwo_test_task
    fortytwo_test_task/settings/__init__.py:1:1: F403 'from common import *' used; unable to detect undefined names
    fortytwo_test_task/settings/__init__.py:3:5: F403 'from local import *' used; unable to detect undefined names

В конце 1 и 3 строки пробовал добавлять
# noqa
, но ситуция не меняется

Django » вопрос по ManyToMany » Дек. 9, 2015 14:28:25

Добрый день
Подскажите, возможно ли как то такую штуку:

2 модели, между ними связь много ко многому. Как сделать так, чтобы в админке можно было заходить в редактирование\создание объекта любой из этих моделей, и указывать связь с другой моделью?

Допустим:
class Model1(models.Model):
    f = models.ManyToManyField('Model2',....)
class Model2(models.Model):
    ...

в таком случае в админке при заходе в редактор\создание объектов Model1 мы указываем связь на Model2, а как сделать, чтобы и при заходе в объект Model2 можно было указывать связанные объекты с Model1 ?

Django » ckeditor не подгружается на страничкку! » Дек. 4, 2015 16:12:39

Добрый день Уважаемые Гуру! Есть app где на страничке пользователь может добавлять техт статьи ,
прикрутил туда СКeditor в режиме Debug=True редактор появляется на страничке может django помогает! А вот когда debug=False редактора нет и в консоли JS ругается хотя js ругается и при включенном дебаг
Uncaught The editor instance "id_body" is already attached to the provided element.
a @ d0668c8e892d.js:14
CKEDITOR.replace @ d0668c8e892d.js:14
там есть ещё сообщения но наверно это самое главное! мои танцы с бубном не пренесли желаемого результата

Python для экспертов » xmlrpc и пакеты » Дек. 4, 2015 09:18:07

Доброго времени суток.

В одном проекте использую xmlrpc вызовы.

Выглядит вот так:

def get_session(ip):
    s_aaa = Server(get_xmlrpc_aaa())
    res = s_aaa.get_session_status(ip)

Всё работает хорошо.
Со временем поднакопилось таких типовых для разных проектов вызовов. Я запилил из них отдельную библиотеку. Поднял свой pipy сервер. И теперь окружение каждого проекта инсталирую эту либу со своего сервера. В проекте потом из неё импортирую ф-и. ВСе функцию работаю нормально, кро xmlrpc вызовов.
Логирую строку из либы s_aaa = Server(get_xmlrpc_aaa())
и s_aaa почему то равен None

Что это может быть?

File "/usr/lib/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1587, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1273, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1306, in single_request
    return self.parse_response(response)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1482, in parse_response
    return u.close()
  File "/usr/lib/python2.7/xmlrpclib.py", line 794, in close
    raise Fault(**self._stack[0])
Fault: <Fault 8001: 'procedure __nonzero__ not found'>

Django » Не отображается custom widget » Дек. 3, 2015 22:50:35

Здравствуйте! Помогите пожалуста с отображением собственного виджета. Хочу к полю с выбором даты добавить календарь, но он не появляется при выборе этого поля.

forms.py:

from django.forms import ModelForm
    from models import Info
    from django import forms
    
    class CalendarWidget(forms.TextInput):
        class Media:
            css = {
                   'all': ('static/css/jquery-ui-1.8.10.custom.css',),
            }
                   
            js = ("http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js", 
                  "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js",
                  )
        
    class EditMyInfoForm(ModelForm):
        class Meta:
            model = Info
            fields = ['name', 'surname', 'date_of_birth', 'bio', 'contacts']
            widgets = {'date_of_birth':CalendarWidget(),}

Затем добавляю `
{{form.media}}
` к странице формы:

{% extends "base.html" %}
    {% load staticfiles %}
    
    {% block content %}
    <h3><a href ="/">Main page</a></h3>
    <script type="text/javascript">
    jQuery(function() {
        var form = jQuery("#myForm");      
        form.submit(function(e) {                  
            jQuery("#sendbutton").attr('disabled', true)
            jQuery("#sendwrapper").prepend('Loading...<img src="{% static 'static/images/ajax-loader.gif' %}" />')                
            jQuery("#ajaxwrapper").load(
                form.attr('action') + ' #ajaxwrapper',
                form.serializeArray(),
                function(responseText, responseStatus) {
                    jQuery("#sendbutton").attr('disabled', false)
                    jQuery("#sendwrapper").hide();
                }            
            );
            e.preventDefault();                          
        });
    });  
    </script>
    
    {{form.media}}
    
            <form id="myForm" action="" method="post">
                <div id="ajaxwrapper">
                {% csrf_token %}
                {{ form.non_field_errors }}
                {{ form.as_p }}
                </div> 
                <p id="sendwrapper"><input type="submit" value="save" id="sendbutton"/></p> 
            </form>
                           
    {% endblock %}


Python для экспертов » скрыть панель сканирования модуль twain » Дек. 2, 2015 11:32:04

Доброго всем времени суток. Столкнулся со следующей проблемой - не могу скрыть панель сканирования twain. Есть софт, который разворачивается на весь экран, к нему необходимо прикрутить сканирование документов по кнопке. Сканер - работает нормально, но есть одна беда - при сканировании проявляется панель сканирования TWAIN с кнопками стоп и пуск и её никак не убрать. Для скана использую модуль twain, там есть, по идее константа CAP_INDICATORS, но она не скрывает это окно, а из-за него винда проглядывает…
Кто может знает, как можно эту проблему решить?

Обсуждение новостей » Доступна для скачивания книга "How to Make Mistakes in Python" Mike Pirnat » Дек. 1, 2015 01:31:39

http://www.oreilly.com/programming/free/files/how-to-make-mistakes-in-python.pdf

Все программисты делают ошибки, даже опытный программист Майк Пирната (Mike Pirnat),который занимается Python течение 15+ лет. Некоторые ошибки - простые и глупые, а некоторые слишком сложные и дорогие для исправление. Эта книга расскажет его наиболее запоминающиие ляпы.

Небольшая книга на английском рассказывающая опыт программиста, сам лично только проглядел, но думаю как чтиво в свободное время может быть любопытным.

Обсуждение новостей » PEP 0508 -- Dependency specification for Python Software Packages » Дек. 1, 2015 01:25:29

Встречайте новый PEP за номер 0508, в котором речь идет о возможностях указания зависимостей Python пакетов

https://www.python.org/dev/peps/pep-0508/