Online video hd

Смотреть русское видео

Официальный сайт welinux 24/7/365

Смотреть видео бесплатно

dimzon 05.03.2011 04:54

СкриптыСкрипт каталогизации скачанных файлов по дате

Данный скрипт решает достаточно специфичную задачу. Я у себя в квартире активно использую сетевые медиаплееры класса ASUS O!Play и его собратьев от IconBit. Эти плееры по NFS монтируют шару, расположенную на NAS (lubuntu 10.10), который стоит себе в кладовке. К сожалению интерфейс этих плееров очень примитивен а коллекция у меня большая. Посему для удобства навигации я при помощи скриптов создаю специальную структуру каталогов ( спасибо символическим ссылкам ).
Скрипт который я хочу вам представить служит для автоматической каталогизации каталога в который скачаны торренты по дате скачивания. Решается задача вида "я сегодня с работы запустил на скачивание серию Хауса, как бы мне её быстро в неразобранной куче (естественно я периодически руками разгребаю свалку) отыскать и посмотреть". Данный скрипт запускается кроном раз в 2 минуты и создает в целевой папки подпапки (имя = дата модификации) в которую симлинками кидает скачаное...


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python 
# -*- coding: utf-8 -*-


(SOURCE_DIR, TARGET_DIR) = ( u"/nas/010_INCOME" , u"/nas/010_INCOME/00-ByDate" )

import time, os, re

def dt_to_str( dt ):
return time.strftime( '%Y.%m.%d', dt )


def os_symlink( a, b ):
rp = os.path.relpath(a,os.path.dirname(b))
os.symlink( rp , b )

dtcheck = re.compile(r"^\d\d\d\d\.\d\d.\d\d$",re.IGNORECASE + re.UNICODE)

# let's kill invalid links in target directory
for fileName in os.listdir( TARGET_DIR ):
filePath = os.path.join( TARGET_DIR , fileName )
if os.path.isdir( filePath ):
if dtcheck.match( fileName ):
rmdir = 1
for item in os.listdir( filePath ):
itemPath = os.path.join( filePath , item )
if not os.path.islink( itemPath ):
# not a link - don't kill this folder anyway
rmdir = 0
elif not os.path.exists( itemPath ):
# broken symlink - let's kill him
os.unlink( itemPath )



Тэги:
+ 5 -
Похожие Поделиться

melksoft 05.03.2011 22:38 #
+ 0 -
Можно запускать по incron - он отслеживает изменения в папках.
dimzon 05.03.2011 23:00 #
+ 1 -
Круто - попробую на icron повеситься!

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн