summaryrefslogtreecommitdiff
path: root/pb/lib/Utils/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'pb/lib/Utils/__init__.py')
-rw-r--r--pb/lib/Utils/__init__.py123
1 files changed, 0 insertions, 123 deletions
diff --git a/pb/lib/Utils/__init__.py b/pb/lib/Utils/__init__.py
deleted file mode 100644
index 1d5a708..0000000
--- a/pb/lib/Utils/__init__.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import re
-from pb.Config import *
-import time
-import urllib
-import urllib2
-import sys
-import os
-from subprocess import Popen,PIPE,call
-Request = urllib2.Request
-urlencode = urllib.urlencode
-urlopen = urllib2.urlopen
-
-def call_cmd(cmd, error=""):
- try:
- call(cmd)
- except Exception as e:
- raise (str(e))
-
-def is_color(s):
- if s == "":
- return "transparent"
- if re.match('(rgba?\([0-9]+,[0-9]+,[0-9]+\))|([a-zA-Z]+)|(\#[A-Ha-h0-9]+)', s):
- return s.replace(' ', '');
- else:
- sys.stderr.write("Not a color: {}\n".format(s))
- raise ValueError
-
-def dimensions (filepath):
- #works in lieu of a mimetype check (it reads the header as well)
- ident = (Popen([BIN_IDENTIFY, filepath], stdout=PIPE).communicate()[0]).split(" ")
- return ident[2].split("x")
-
-def is_number(s):
- try:
- return int(s)
- except (ValueError, TypeError):
- return False
-
-def bool_correct(s):
- if re.match(r'^false$', s, re.IGNORECASE):
- return False
- elif re.match(r'^true$', s, re.IGNORECASE):
- return True
- else:
- return s
-
-class dotdict(dict):
- """dot.notation access to dictionary attributes"""
- def __getattr__(self, attr):
- return self.get(attr)
- __setattr__= dict.__setitem__
- __delattr__= dict.__delitem__
-
-def get_mimetype(f):
- try:
- mimetype = Popen(
- [BIN_IDENTIFY, f], stdout=PIPE
- ).communicate()[0].split(" ")[1].lower()
- return mimetype
- except Exception as e:
- sys.stderr.write("couldn't determine mimetype")
- sys.stderr.write(str(e))
- raise;
-
-def sanitize (str):
- return re.sub(r'\W+', '', str)
-
-def now():
- return int(time.time())
-
-def browser_request (url, data=None):
- headers = {
- 'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)',
- 'Accept': '*/*',
- }
- try:
- req = Request(url, data, headers)
- response = urlopen(req)
- except IOError, e:
- if hasattr(e, 'code'):
- sys.stderr.write( '%s - ERROR %s' % (url, e.code) )
- raise;
- return None
- else:
- return response
-
-def download(url, destination, max_size=MAX_SIZE):
- response = browser_request(url, None)
- rawimg = response.read()
- if len(rawimg) == 0:
- sys.stderr.write("got zero-length file")
- raise;
- if len(rawimg) > max_size:
- sys.stderr.write("file too big: max size {} KB / {} is {} KB".format(
- str(MAX_SIZE/1024),
- destination,
- str(len(rawimg)/1024)
- ))
- raise;
- f = open(destination, "w")
- f.write(rawimg)
- f.close()
-
-def file_size (filepath):
- try:
- return os.stat(filepath)[6]
- except Exception as e:
- sys.stderr.write("Couldn't determine filesize\n")
- sys.stderr.write(str(e)+"\n")
- raise;
-
-def gif_frames(filepath):
- try:
- info = Popen([BIN_IDENTIFY,filepath], stdout=PIPE).communicate()[0]
- frames = filter((lambda x: x), map(
- (lambda x: x.split(" ")[0]),
- (info).split('\n')
- ))
- return frames
- except Exception as e:
- sys.stderr.write("IMGRID couldn't get gif frames")
- sys.stderr.write(str(e))
- raise;