2 # -*- coding: utf-8 -*-
4 Разработчик: apkawa@gmail.com
5 Сайт проекта: http://code.google.com/p/uimge/
8 from sys
import argv
,exit
,stderr
,stdout
10 from re
import sub
,search
11 from libuimge
import imagehost
,lang
15 opt_help
,error_mes
,messages
=lang
.check()
17 for (name
,value
) in inspect
.getmembers(imagehost
):
18 if name
.startswith('host_'):
19 IMAGEHOSTS
[name
[len('host_'):]]= value
22 'default': lambda url
, eva
: stdout
.write('%s\n'%url
[0]),
23 'bt_bb-thumb': lambda url
, eva
: stdout
.write('[url=%s][img]%s[/img][/url] ' %(url
[0], url
[1])),
24 'bo_bb-orig': lambda url
, eva
: stdout
.write('[img]%s[/img]\n' %(url
[0])),
25 'usr_user-output': lambda url
, eva
: stdout
.write(sub('\\\\n','\n',sub('#TMB#',url
[1],sub('#URL#',url
[0], eva
))))
30 > i = input(opt,filename)
33 def __init__(self
,opt
,filenames
):
34 '''__init__(self,opt, filenames)
35 Начальная иницилизация'''
37 self
.read_list(opt
.filelist
)
39 self
.filenames
= filenames
46 if not OUTPRINT
.has_key(self
.out
):
47 self
.out_eval
=self
.out
48 self
.out
= 'usr_user-output'
50 '''функция заливки изображений или урлов с изображениями'''
51 for file in self
.filenames
:
52 if not self
.check(file):
54 send
= [file,self
.name
,self
.mode
]
55 url
= IMAGEHOSTS
[self
.host
](send
)
56 OUTPRINT
[self
.out
](url
,self
.out_eval
)
58 def read_list(self
,filelist
):
60 f
= open(filelist
,'r')
63 for file in files
: self
.filenames
.append(sub('\n','',file))
64 def check(self
,filename
):
65 if search('^http\:\/\/',filename
): self
.mode
= True
66 else: self
.mode
= False
71 stderr
.write('Not file\n')
76 '''Функциия парсинга опций и вывод справки'''
77 usage
= opt_help
['usage']
78 version
= 'uimgepy-'+VERSION
79 parser
= optparse
.OptionParser(usage
=usage
, version
=version
)
81 group_1
= optparse
.OptionGroup(parser
, opt_help
['Major options'])
82 for host
in IMAGEHOSTS
.keys():
84 group_1
.add_option('-'+sp
[0],'--'+sp
[1],action
='store_const', const
=host
, dest
='check', \
85 help=opt_help
['--'+sp
[1]])
86 parser
.add_option_group(group_1
)
88 group_2
= optparse
.OptionGroup(parser
, opt_help
['Additional options'])
89 group_2
.add_option('-f','--file', action
='store', default
=None, dest
='filelist', \
90 help=opt_help
['--file'])
91 parser
.add_option_group(group_2
)
92 group_3
= optparse
.OptionGroup(parser
, opt_help
['Output options'])
93 for key
in OUTPRINT
.keys():
96 if key
!= 'usr_user-output':
97 group_3
.add_option('--'+sp
[0],'--'+sp
[1], const
=key
, action
='store_const', \
98 default
='default', dest
='out', help=opt_help
['--'+sp
[1]])
100 group_3
.add_option('--'+sp
[0],'--'+sp
[1], action
='store_true', \
101 default
='default', dest
='out', help=opt_help
['--'+sp
[1]])
102 parser
.add_option_group(group_3
)
103 opt
, arguments
= parser
.parse_args(args
=arg
,)
104 if opt
.check
== None:
105 print error_mes
['Enter option']
108 return opt
, arguments
110 if __name__
== '__main__':
111 opt
, filenames
= parseopt(argv
[1:])
112 inp
=input(opt
, filenames
)