#coding: UTF-8
import threading, Queue, os
from PIL import Image
queue = Queue.Queue() # создаем очередь
THREADS = 10
for i in os.listdir('.'):
if i.split('.')[-1] == 'JPG':
queue.put(Image.open(i))
def chage_file(img):
#узнать ориентацию файла
print 'Открытие файла ' + img.filename
i_size = img.size
if i_size[0] > i_size[1]: # если больше то 800х600
#изменить размер
r_img = img.resize((800,600), Image.ANTIALIAS)
else:
r_img = img.resize((600,800), Image.ANTIALIAS)
#переименовать и сохранить
print 'Сохранение файла' + img.filename
r_img.save('NEW_'+img.filename)
def repeat():
while True:
try:
item = queue.get_nowait() # ждём данные
except Queue.Empty:
break
chage_file(item) # передаем данные в нашу функцию
#time.sleep(0.5)
queue.task_done() # задача завершена
for tr in xrange(THREADS):
t = threading.Thread(target=repeat) # создаем нить
t.start()
queue.join()
суббота, 12 мая 2012 г.
ReSize fotos in folder в 10 потоков
четверг, 10 мая 2012 г.
ReSize fotos in folder
#coding: UTF-8
from PIL import Image
import os
def chage_file(img):
#узнать ориентацию файла
print 'Открытие файла ' + img.filename
i_size = img.size
if i_size[0] > i_size[1]: # если больше то 800х600
#изменить размер
r_img = img.resize((800,600), Image.ANTIALIAS)
else:
r_img = img.resize((600,800), Image.ANTIALIAS)
#переименовать и сохранить
print 'Сохранение файла'
r_img.save('NEW_'+img.filename)
def resize_file(orientation, img):
print 'Изменение размера файла'
if orientation:
return img.resize((800,600), Image.ANTIALIAS)
else:
return img.resize((600,800), Image.ANTIALIAS)
kolvo_files = 0
for i in os.listdir('.'):
if i.split('.')[-1] == 'JPG':
kolvo_files += 1
chage_file(Image.open(i))
print "Количество обработанных файлов = ", kolvo_files
среда, 21 декабря 2011 г.
Первый опыт PyQt4
pyuic4 название_файла_с_кодом.py -o шаблон.ui
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'dialog1.ui'
#
# Created: Thu Dec 22 00:40:39 2011
# by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
class Ui_MainDialog(object):
def setupUi(self, MainDialog):
MainDialog.setObjectName("MainDialog")
MainDialog.resize(400, 300)
self.newDialogButton = QtGui.QPushButton(MainDialog)
self.newDialogButton.setGeometry(QtCore.QRect(300, 260, 90, 27))
self.newDialogButton.setObjectName("newDialogButton")
self.retranslateUi(MainDialog)
QtCore.QMetaObject.connectSlotsByName(MainDialog)
def retranslateUi(self, MainDialog):
MainDialog.setWindowTitle(QtGui.QApplication.translate("MainDialog", "Main Dialog", None, QtGui.QApplication.UnicodeUTF8))
self.newDialogButton.setText(QtGui.QApplication.translate("MainDialog", "New Dialog", None, QtGui.QApplication.UnicodeUTF8))
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'dialog2.ui'
#
# Created: Thu Dec 22 00:40:51 2011
# by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
class Ui_SecondDialog(object):
def setupUi(self, SecondDialog):
SecondDialog.setObjectName("SecondDialog")
SecondDialog.resize(400, 300)
self.retranslateUi(SecondDialog)
QtCore.QMetaObject.connectSlotsByName(SecondDialog)
def retranslateUi(self, SecondDialog):
SecondDialog.setWindowTitle(QtGui.QApplication.translate("SecondDialog", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
import sys from PyQt4 import QtGui, QtCore from dialog1 import Ui_MainDialog from dialog2 import Ui_SecondDialog class MainDialig(QtGui.QWidget): def __init__(self, parent=None): super(MainDialig,self).__init__(parent) self.secondDialog = SecondDialog(parent) self.ui = Ui_MainDialog() self.ui.setupUi(self) self.ui.newDialogButton.clicked.connect(self.showSecondDialog) def showSecondDialog(self): self.secondDialog.show() class SecondDialog(QtGui.QWidget): def __init__(self, parent=None): super(SecondDialog,self).__init__(parent) self.ui = Ui_SecondDialog() self.ui.setupUi(self) def main(): app = QtGui.QApplication(sys.argv) mainWindow = MainDialig() mainWindow.show() sys.exit(app.exec_()) if __name__=='__main__': main()
from dialog1 import Ui_MainDialog from dialog2 import Ui_SecondDialog
class MainDialig(QtGui.QWidget): def __init__(self, parent=None): super(MainDialig,self).__init__(parent)
self.secondDialog = SecondDialog(parent)
self.ui = Ui_MainDialog() self.ui.setupUi(self)
self.ui.newDialogButton.clicked.connect(self.showSecondDialog)
def showSecondDialog(self):
self.secondDialog.show()
class SecondDialog(QtGui.QWidget): def __init__(self, parent=None): super(SecondDialog,self).__init__(parent) self.ui = Ui_SecondDialog() self.ui.setupUi(self)
def main(): app = QtGui.QApplication(sys.argv) mainWindow = MainDialig() mainWindow.show() sys.exit(app.exec_()) if __name__=='__main__': main()
mainWindow = MainDialig() mainWindow.show()
import sys from PyQt4 import QtGui, QtCore from dialog1 import Ui_MainDialog class MainDialig(QtGui.QWidget): def __init__(self, parent=None): super(MainDialig,self).__init__(parent) self.ui = Ui_MainDialog() self.ui.setupUi(self) ############## #Добавление функционала к элементам окна ############## def main(): app = QtGui.QApplication(sys.argv) mainWindow = MainDialig() # знак "=" не зря не выделен. Дело в том, что такая строка обязательна, но меняется то, что выделено. mainWindow.show() sys.exit(app.exec_()) if __name__=='__main__': main()
среда, 9 марта 2011 г.
netbeans если ШГ
Запускать netbeans, чтоб не ШГ, т.е. со сглаживанием и т.д. надо такой командой:
netbeans -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd_hrgb
воскресенье, 6 марта 2011 г.
Sorry, there have been more than 5 failed login attempts for this account. It is temporarily blocked.
Гуглил-гуглил-гуглил.... и нашел ответ. Надо удалить все записи из таблицы flood:
DELETE FROM flood;
Drupal 7 восстановление пароля
Столкнулся с проблемой восстановления пароля в drupal 7. Помню в 6ке пароли хешировались в md5, а в 7ке в sha512. Если есть доступ к БД друпала то все просто. В папке ./scripts лежит скрипт password-hash.sh. Использовать его крайне просто:
password-hash.sh "новый_пароль"Потом поменять в таблице users хеш пароля для своего пользователя.
суббота, 12 февраля 2011 г.
ZTE 100 и ubuntu 10.04 в офлайне
Для начала нужно скачать и установить на целевой ноутбук 4 пакета:
и скрипт для настройки
Теперь нужно открыть папку куда скопировались файлы и запустить их, кроме скрипта, с конца по очереди.
Теперь настройка.
Нужно зайти под учетной записью sudo пользователя. Открыть консоль Приложения->Стандартные->Терминал и ввести
sudo mc
Система предложет ввести пароль. Введите пароль пользователя. Что бы вводить команды нужно нажать ctrl+O которая скроет обе панели mc.
Теперь по порядку:
1. Включаем модем, он определяется как USB CD-ROM диск, автомонтируется на /dev/scd0 (у вас номер устройства может быть другим) на котором софт для windows. Oтключаем:
Для проверки нужно выполнить:
2.1 Если модем периодически отключается то переключаем модем в режим только модема, при этом отключается кардридер и доступ к USB CD-ROM диску. Введите команду:
Все, теперь можно настроить соединение через NetworkManager.
Более подробно смотрите в первоисточнике
и скрипт для настройки
Теперь нужно открыть папку куда скопировались файлы и запустить их, кроме скрипта, с конца по очереди.
Теперь настройка.
Нужно зайти под учетной записью sudo пользователя. Открыть консоль Приложения->Стандартные->Терминал и ввести
sudo mc
Система предложет ввести пароль. Введите пароль пользователя. Что бы вводить команды нужно нажать ctrl+O которая скроет обе панели mc.
Теперь по порядку:
1. Включаем модем, он определяется как USB CD-ROM диск, автомонтируется на /dev/scd0 (у вас номер устройства может быть другим) на котором софт для windows. Oтключаем:
$ eject /dev/scd0светодиод на модеме отключается, через некотрое время загарается опять, теперь он определился как модем, появилоси новые устройства:
/dev/ttyUSB0инет работает на /dev/ttyUSB2
/dev/ttyUSB1
/dev/ttyUSB2
Для проверки нужно выполнить:
$ ls /dev | grep ttyUSB2. Если модем работает стабильно, то просто отключаем автозагрузку USB CD-ROM диска воспользовавшись скриптом введите команду (вы должны находится в той же папке где файл mf100.pl):
$ ./mf100.pl cdstop
2.1 Если модем периодически отключается то переключаем модем в режим только модема, при этом отключается кардридер и доступ к USB CD-ROM диску. Введите команду:
$ ./mf100.pl modem3. Последнее, надо сконфигурировать файл wvdial.conf:
mcedit /etc/wvdial.confи втавить в него примерно следующее
[Dialer Defaults]
Init1 = ATZ
Init3 = AT+CGDCONT=1,"IP","www.ab.kyivstar.net"
#Init3 = AT+CGDCONT=1,"IP","www.xl.kyivstar.net"
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Phone = *99#
ISDN = 0
Stupid Mode = 1 # необходимо для этого модема
Auto Reconnect = 0
Idle Seconds = 0
Username = igprs
Password = internet
Modem Type = USB Modem
Modem = /dev/ttyUSB2
Boud = 9600Все, теперь можно настроить соединение через NetworkManager.
Более подробно смотрите в первоисточнике
Подписаться на:
Сообщения (Atom)