-Музыка

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в dimzon541

 -Интересы

.net ajax c# development fallout futurama java javascript nightwish o/r mapping rpg sci-fi vbscript web 2.0 windows communication foundation windows presentation foundation xaml xml алгоритмы сжатия аудио/видео альтернативная история

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.03.2006
Записей:
Комментариев:
Написано: 3362

Выбрана рубрика жисть.


Другие рубрики в этом дневнике: юмор(106), чтиво(70), фэнтези(12), постядер(24), постапокалипсис(45), паропанк(7), киберпанк(3), игры(56), девелопмент(52), всячина(90), видео(85), альтернативная история(4), Team Fortress 2(8), sci-fi(30), iPictureUploader(2), Google Chrome(4), eBookDownloader(21)

Переход на Linux - скрипт для каталогизации видео

Дневник

Четверг, 03 Февраля 2011 г. 05:09 + в цитатник
Переписал таки на Python...
  1. #!/usr/bin/env python
  2. #encoding: UTF-8
  3.  
  4. ## [CONFIG] ############################################
  5. duplicateFilePath = u"/home/dimzon/!test/duplicates.txt"
  6. locationFileName = u"ku-ku.txt"
  7. folderPathAll = u"/home/dimzon/!test/all"
  8. folderPathByFirstLetter = u"/home/dimzon/!test/by_letter"
  9. folderPathByYear = u"/home/dimzon/!test/by_year"
  10. sourceFolders = [\
  11.     u"/home/dimzon/!test/drives/1", \
  12.     u"/home/dimzon/!test/drives/2", \
  13.     u"/home/dimzon/!test/drives/3" ]
  14. ## [/CONFIG] ###########################################
  15.  
  16.  
  17. import os,re
  18.  
  19. def get_first_letter( fileName ):
  20.     ltr = fileName[0].upper()
  21.     if "0123456789.,!@#$_()[]{}-".count(ltr):
  22.         return "(0-9)"
  23.     return ltr
  24.  
  25. reYear = re.compile(r"(?<=\D)(?:19|20)\d{2}(?=\D)", re.UNICODE )
  26.  
  27. def get_years(fileName):
  28.     return reYear.findall( fileName )
  29.    
  30.  
  31. def clean_symlinks( folderPath ):
  32.     for i in os.listdir( folderPath ):
  33.         j = os.path.join( folderPath, i )
  34.         if os.path.islink( j ):
  35.             os.unlink( j )
  36.         elif os.path.isdir( j ):
  37.             clean_symlinks( j )
  38.             if len( os.listdir( j ) ) == 0 :
  39.                 print 11
  40.                 os.rmdir( j )
  41.            
  42. print 'Processing...'
  43.  
  44. clean_symlinks( folderPathAll )
  45. clean_symlinks( folderPathByFirstLetter )
  46. clean_symlinks( folderPathByYear )
  47.  
  48. knownFilms = {}
  49. for f in sourceFolders:
  50.     print f
  51.     for i in os.listdir( f ):
  52.         j = os.path.join( f, i )
  53.         if os.path.isdir( j ):
  54.             with open( os.path.join( j, locationFileName ) , 'w' ) as loc:
  55.                 loc.write( j.encode('utf-8') )
  56.             key = i.upper( )
  57.             if key in knownFilms :
  58.                 knownFilms[key][1].append( j )
  59.             else:
  60.                 knownFilms[key]=( i.strip() , [ j ] )
  61.  
  62. with open( duplicateFilePath , 'w' ) as loc:
  63.     for i in knownFilms.values():
  64.         if len(i[1]) != 1 :
  65.             loc.write( ('### ' + i[0] + '\n\r').encode('utf-8') )
  66.             for j in i[1] :
  67.                 loc.write( (j + '\n\r').encode('utf-8') )
  68.             loc.write( '\n\r\n\r' )
  69.  
  70. for i in knownFilms.values():
  71.     os.symlink( i[1][0] , os.path.join( folderPathAll , i[0] ) )
  72.     f = os.path.join( folderPathByFirstLetter , get_first_letter( i[0] ) )
  73.     if not os.path.exists( f ) :
  74.         os.mkdir( f )
  75.     os.symlink( i[1][0] , os.path.join( f , i[0] ) )
  76.     dt = get_years( i[0] )
  77.     for y in dt :
  78.         f = os.path.join( folderPathByYear , y )
  79.         if not os.path.exists( f ) :
  80.             os.mkdir( f )
  81.         os.symlink( i[1][0] , os.path.join( f , i[0] ) )
  82.  
  83. print 'Done!'
Рубрики:  жисть
девелопмент
всячина

Переход на Linux - структура каталога /nas

Дневник

Среда, 02 Февраля 2011 г. 21:08 + в цитатник

/nas/01_Incoming
Сюда автоматом переносятся торренты по завершении загрузки (отсюда-же они продолжают раздаваться)

/nas/01_Incoming/00_to_Sort
Сюда вручную переночу постопанные торренты (которые больше не раздаю). После чего скриптом оборачиваю отдельные avi-шнички в папочки. Далее в ручном режиме переименовываю папочки (даю осмысленные русские имена). После того как переименовал переношу в каталог /VIDEO на одном из винтов (где место есть).

/nas/02_Video/03_All
Символические ссылки на все папки с фильмами. Специальный скрипт находит папки /video/* на всех винтах и создаёт символические ссылки в /nas/02_Video/03_All

/nas/02_Video/01_ByLetter
Специальный скрипт находит папки /video/* на всех винтах, создаёт по первой букве из названия папочки подпапочку в /nas/02_Video/01_ByLetter, создает символическую ссылку

/nas/02_Video/02_ByYear
Аналогично предыдущему, только вместо первой буквы регулярным выражением выцепляется год создания

Собственно этот "волшебный скрипт" пока существует в виде программы для Windows7 (и вместо символических ссылок использует т.н. Junction Points). Кому надо - брать тут: http://dl.dropbox.com/u/2718637/jtool.zip
Для настройки открыть notepad-ом файл jtool.exe.config
Надеюсь в ближайшее время портировать его (скрипт) на питон. Заодно в планах научится читать теги (для папочки /nas/03_Audio/*

/nas/02_Video/02_Drives
здесь просто подмонтированы все HDD
Рубрики:  жисть
всячина

Переход на Linux - настройки NFS, SAMBA, VSFTP

Дневник

Среда, 02 Февраля 2011 г. 12:51 + в цитатник
Поскольку сервер работает в рамка квартирной сети (за роутером/файрволом) то всем предоставляется полный доступ. Во внешний мир будут открыты только 2 порта - порт SSH и порт для uTorrent-а.

Шарится 1 папка /nas - остальное накидывается в нее через symlink-и

/etc/exports (NFS)
/nas           192.168.1.0/24(ro,no_subtree_check,insecure,all_squash)


/etc/samba/smb.conf (SAMBA)
[global]
guest account = nobody
map to guest = bad user

[nas]
comment = Public Shares
browsable = yes
path = /nas
public = yes
writable = yes
guest ok = yes


/etc/vsftpd.conf (VSFTP)
listen=YES
anonymous_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
anon_umask=0000
no_anon_password=YES
local_enable=NO
dirmessage_enable=YES
write_enable=YES
anon_root=/nas
chown_uploads=YES
chown_username=me
log_ftp_protocol=YES
dual_log_enable=YES


Не заываем добавить вызов vsftpd в /etc/rc.local
vsftpd &
Рубрики:  жисть
девелопмент
всячина

Переход на Linux - переписываем вспомогательные скрипты

Дневник

Пятница, 28 Января 2011 г. 21:12 + в цитатник
Перед тем как переустановить сервер надо подготовить набор скриптов на замену используемым. Первый скриптик - скриптик создания каталогов.
Задачка: просканировать каталог на наличие видеофайлов, для каждого файла создать подкаталог с аналогичным названием и перенести в него файл.

Текущая версия на VBScript:
option explicit
 
const DIR = "D:\TorrentDownload\00-to sort"
const EXT = "  \avi\mkv\mp4\flv\wmv\asf\mov\ts\"
 
dim oFSO: set oFSO=CreateObject("Scripting.FileSystemObject")
dim oTargetDIR: set oTargetDIR = oFSO.GetFolder( DIR )
dim oFile
dim sExt
dim sDirName
for each oFile in oTargetDIR.Files
	sExt = LCase(oFSO.GetExtensionName(oFile.Name))
	if InStr( EXT,  "\" &  sExt & "\") > 0 Then
		sDirName = DIR & "\" & trim(oFSO.GetBaseName(oFile.Name))
		If Not (oFSO.FolderExists( sDirName ) or oFSO.FileExists( sDirName )) Then
			oFSO.CreateFolder sDirName
			oFile.Move sDirName & "\" & oFile.Name
		End If
	end if
next
MsgBox "Done"


Теперь переписанная на Python:
#! /usr/bin/env python
 
import os, re
 
targetFolder = 'd:\!test' # CHANGE THIS!
 
 
ext = re.compile(r"^.+\.(?:avi|mov|mp4|mkv|wmv|asf|ts|m2ts|mpg|mpeg)$",re.IGNORECASE + re.UNICODE)
 
print 'Processing ' + targetFolder
 
for fileName in os.listdir(targetFolder):
    filePath =  os.path.join( targetFolder, fileName )
    if os.path.isfile( filePath ):
        if ext.match( fileName ):
            dirPath = os.path.join(targetFolder,(os.path.splitext(fileName)[0]).strip())
            if not os.path.exists( dirPath ):
                os.mkdir( dirPath )
                os.rename( filePath, os.path.join( dirPath, fileName ) )
 
print 'Done!'
 
Рубрики:  жисть
девелопмент
всячина

Настройки Lubuntu 10.10 для NAS (в процессе)

Дневник

Четверг, 27 Января 2011 г. 21:43 + в цитатник
Собрал себе сервер для квартиры, подумываю установить на него Lubuntu вместо Win7 x64, пока тренируюсь на виртуальной машине...
В этом посте задокументирую процесс установки и настройки.

Что хочется в идеале:

  • Нужен telnet/ssh доступ для настройки "если что"
  • Нужен доступ к GUI в качестве "крайней решительной меры"
  • Нужен доступ к файлам хранилища по NAS/SMB/FTP
  • Нужна торрент-качалка с возможностью удалённого управления
  • Нужна возможность подчитерить с рейтингом в торренте
  • Нужен WEB-интерфейс для поиска (по имени) файла/папки из NAS




1) Доступ по NFS - настраивается штатными средствами
2) Торрент-клиент - либо трансмишн либо uTorrentServer либо uTorrent+WINE
3) Для накрутки аплоада хорошо-бы написать свой аналог GreedyTorrent-а (такой прооостенький http-прокси на питон)
4) telnet/ssh вроде умею настраивать, надо бы нормальный GUI-доступ придумать, XRDP завести не вышло
5) NTFS винты цепляются и работают, работают символические ссылки на NTFS.
6) Для каталогизации видео надо-бы написать утилитку на питоне, собирающую все в одном месте с помощью soft links
Рубрики:  жисть
девелопмент
всячина

Геннадий Постригайло - дебил или мудак?

Дневник

Четверг, 19 Ноября 2009 г. 00:22 + в цитатник
Завязалась тут "беседа" в комментах.

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

Это жесть...

Дневник

Среда, 11 Ноября 2009 г. 04:07 + в цитатник

Рубрики:  жисть
юмор
видео

Mr. Freeman

Дневник

Четверг, 29 Октября 2009 г. 04:57 + в цитатник


Описание: Первая серия «заставляющего задуматься мультфильма», как писали в комментариях, от Mr. Freeman вышла 21 сентября. В какой-то степени это творение похоже на «запрещённую рекламу» Года молодёжи, созданную командой Шлегеля. На данный момент вышло уже 3 эпизода этого короткого мультфильма:

Первая серия, или "Mr. Freeman, part 0", озаглавленная словами "А ты уверен в том, кто ты такой, и что ты существуешь?".
Вторая серия "Mr. Freeman, part 64" с девизом "Где угодно и когда угодно...".
И третья, "Mr. Freeman, part 63" - "Ты слишком блондин!".
(Серии упорядочены по дате выхода)

Отзывы:
«Даже не знаю что сказать : одновременно и смешно и правдиво. Оригинально и красиво. Заставляет задуматься.» (PilotMax)
«Наверное о жизни и бездарном ее прожигании, о зависимости от вещей.» (Шмашка)
«Качественно сделанный вирус (я имею ввиду техническую сторону). Мотивация через демотивацию…» (mi3ch)
Рубрики:  жисть
юмор
видео

Евгений Гришковец — Перед съемкой "Одновременно"

Дневник

Четверг, 22 Октября 2009 г. 01:54 + в цитатник

Рубрики:  жисть
юмор
видео

Евгений Гришковец — Про день рождения

Дневник

Среда, 21 Октября 2009 г. 03:21 + в цитатник

Рубрики:  жисть
юмор
видео

Когда я стану миллионером...

Дневник

Среда, 21 Октября 2009 г. 05:46 + в цитатник
куплю виллу на берегу моря + обязательно такой вот девайс:

Рубрики:  жисть
видео

Убейте себя ап стену, твари!

Дневник

Среда, 21 Октября 2009 г. 05:30 + в цитатник
Тех уродов, кто придумал всплывающие окна с рекламой надо публично четвертовать! А тех кто в них (в окна) порнуху вставляет - на кол! Трупы сжечь, пепел развеять!
 (568x455, 38Kb)
В копи-пастебельном виде:
http://icqmoney.com/
http://soblazncity.ru/
http://bin-layer.ru/
http://usr.marketgid.com/
http://mg.dt00.net/
http://clicktorrent.info/phpadsnew/
http://banners.adultfriendfinder.com/
http://js.ru.redtram.com/
http://p.profitstat.biz/
Рубрики:  жисть

Евгений Гришковец — ОдноврЕмЕнно

Дневник

Вторник, 20 Октября 2009 г. 03:43 + в цитатник

Рубрики:  жисть
юмор
видео

Евгений Гришковец — Как я съел собаку

Дневник

Воскресенье, 18 Октября 2009 г. 15:13 + в цитатник

Рубрики:  жисть
юмор
видео

Ржунемагу - в латвийских тюрьмах с зеков возьму за коммунальные услуги

Дневник

Четверг, 17 Сентября 2009 г. 15:44 + в цитатник
Начальница юридической службы Управления местами заключений Рената Фила объяснила причину, по которой возможно будет принято такое оригинальное решение. Все дело в социальной несправедливости:

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

По словам г-жи Фила, в скором времени эту ситуацию решено исправить так: работающим зекам придется платить за коммунальные услуги в тюрьме.

источник
Рубрики:  жисть
юмор

3D-календарик

Дневник

Среда, 26 Августа 2009 г. 20:14 + в цитатник

Вот такие забавные календарики можно сделать при помощи этого сайта.

Все очень просто - выбираем параметры календаря, скачиваем PDF-ку, распечатываем, режем и склеиваем ;)
Рубрики:  жисть
всячина

Что-то шашлычка захотелось....

Дневник

Вторник, 25 Августа 2009 г. 19:02 + в цитатник

В выходные обещают ясную погоду... Может чем чёрт не шутит...
Рубрики:  жисть

Унылое говно....

Дневник

Вторник, 25 Августа 2009 г. 17:10 + в цитатник
Погода просто отвратительная... А так хочется солнца.
Рубрики:  жисть

Подключил OpenDNS

Дневник

Среда, 19 Августа 2009 г. 03:32 + в цитатник
Сегодня ночью у провайдера возник очередной дизастер с его DNS-серверами. Подключил OpenDNS...
Use OpenDNS
Рубрики:  жисть
всячина

А мож ну нафиг?

Дневник

Понедельник, 17 Августа 2009 г. 17:58 + в цитатник
В Алании 3-х комнатная квартира в доме у моря стоит 45000 евро. Продать свою подмосковную квартиру, купить 3 3-шки, в одной жить две сдавать... Если что можно ещё дополнительный приработок найти:
 (375x500, 44Kb)
Рубрики:  жисть
юмор
всячина


 Страницы: [6] 5 4 3 2 1