summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPepper <pepper@scannerjammer.com>2015-03-04 15:57:53 -0500
committerPepper <pepper@scannerjammer.com>2015-03-04 15:57:53 -0500
commit021842ec42b991e7a641ae26862d77b324ea05db (patch)
tree81194a75da0ff1279af7346d6e50cd424c33bacb /lib
parent513526efe79ff90be5b23459253dd5f553ec73d6 (diff)
started oop code
Diffstat (limited to 'lib')
-rw-r--r--lib/imgradient.py37
-rw-r--r--lib/imgradient_params_defaults.py42
-rwxr-xr-xlib/impattern.py28
-rw-r--r--lib/impattern_params_defaults.py142
-rw-r--r--lib/utils.py50
5 files changed, 43 insertions, 256 deletions
diff --git a/lib/imgradient.py b/lib/imgradient.py
deleted file mode 100644
index af743f1..0000000
--- a/lib/imgradient.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/python2.7
-import urllib
-import urllib2
-import simplejson as json
-import random
-import sys
-from lib.utils import post_request, Service
-
-IMGRADIENT_URL = "http://asdf.us/im/api/imgradient"
-
-
-
-class ImGradient(Service):
- def __init__(self):
- self.url = IMGRADIENT_URL
- self._required_keys = [
- "width", "height",
- "color1", "color2",
- "stripes",
- "stripenumber", "stripeintensity",
- "blurriness",
- "contrast",
- "brightness", "saturation", "hue",
- "halftone",
- "bevel", "percentbeveled",
- "rotate", "flip", "flop", "tilt",
- "filetype",
- "gradienttype",
- "username",
- ]
- def new(self, params):
- for k in self._required_keys:
- if not k in params:
- params[k] = "";
- self.params = params
- return json.loads(post_request(IMGRADIENT_URL, self.params))
-
diff --git a/lib/imgradient_params_defaults.py b/lib/imgradient_params_defaults.py
index 140939f..d0ba3ac 100644
--- a/lib/imgradient_params_defaults.py
+++ b/lib/imgradient_params_defaults.py
@@ -130,6 +130,48 @@ class ImGradientParams_FromDefaults(Pb_Api_Params):
{ "value" : "mirrored", "weight" : 1 },
{ "value" : "noise", "weight" : 1 },
]
+
+#I just needed a place to encapsulate the params and the weights, and methods to access them. I guess I didn't really know the right answer
+#as far as the structure, so I tried to just imagine something somewhat related to what you were talking about before.
+#do I need separate classes for the two methods below?
+#well lets dicusss this a bit more, so services each have own param set, they are sort of original from service itself, so i guess there should be a way to get
+#"fresh" copy of parameters accepted by this service, instead of rewriting code each time. do you mean just a list of the keynames? yeah and thier values
+#the keys don't have default values necessarily. they just each have a range of accepted values. Basically just html forms hmm sort of like
+#writing a bot that fills in some forms on the internet, like a bot to brute force a credit card form or something, funny example, but I guess a good one
+#each parameter has values that are within an accepted range, like First Name would need to come from a list of frist names, and CC number would need to bevel
+#intelligible ints, the first four should correspond with a known bank, etc. you understand what I mean? yeah
+ok so since all services are about same, just a bunch of parameters and known values we can make base class for parameteres. it would look like:
+
+
+class ApiParams(object):
+ def params():
+ def randomize():
+ def build():
+
+class ImGradientParams(ApiParams):
+ def __init__():
+ self.params = {
+ "width": # well here it's int i suppose, need somethig esle
+ "gradienttype": [
+ { "value "...}
+ ]
+ }
+
+class ImGradientPb_Api():
+ def params():
+ return new ImGradientParams()
+ def call(params):
+ return image();
+
+
+api = ImGradientPb_Api()
+image_params = api.params()
+image_params.gradient_type("mirror")
+image_params.randomize()
+image = api.call(image _params)
+# something like this, yeah I think so...lol I tried to do something like this
+
+
def from_random(self):
return {
"username" : USERNAME,
diff --git a/lib/impattern.py b/lib/impattern.py
deleted file mode 100755
index 08e3f2a..0000000
--- a/lib/impattern.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python2.7
-import urllib
-import urllib2
-import simplejson as json
-import random
-import sys
-from lib.utils import post_request, Service
-
-IMPATTERN_URL = "http://asdf.us/im/api/impattern"
-
-
-
-class ImPattern(Service):
- def __init__(self):
- self.url = IMPATTERN_URL
- self._required_keys = [
- "pattern_url",
- "pattern_data",
- "username",
- "image_url",
- ]
- def new(self, params):
- for k in self._required_keys:
- if not k in params:
- params[k] = "";
- self.params = params
- return json.loads(post_request(IMPATTERN_URL, self.params))
-
diff --git a/lib/impattern_params_defaults.py b/lib/impattern_params_defaults.py
index cfad62f..c6b88b7 100644
--- a/lib/impattern_params_defaults.py
+++ b/lib/impattern_params_defaults.py
@@ -4,152 +4,10 @@ from config import USERNAME, TEST_URL
from lib.utils import Pb_Api_Params
PATTERN_URL_BASE = "http://asdf.us/impattern/patterns"
class ImPatternParams_FromDefaults(Pb_Api_Params):
-# "pattern_url",
-# "pattern_data",
-# "username",
-# "image_url",
def __init__(self):
self.weighted_pattern_url = [
-#{{{pattern urls
{ "value":"1.png", "weight":1 },
- { "value":"10.png", "weight":1 },
- { "value":"11.png", "weight":1 },
- { "value":"12.png", "weight":1 },
- { "value":"13.png", "weight":1 },
- { "value":"14.png", "weight":1 },
- { "value":"15.png", "weight":1 },
- { "value":"16.png", "weight":1 },
- { "value":"17.png", "weight":1 },
- { "value":"18.png", "weight":1 },
- { "value":"19.png", "weight":1 },
{ "value":"2.png", "weight":1 },
- { "value":"20.png", "weight":1 },
- { "value":"21.png", "weight":1 },
- { "value":"22.png", "weight":1 },
- { "value":"23.png", "weight":1 },
- { "value":"24.png", "weight":1 },
- { "value":"25.png", "weight":1 },
- { "value":"26.png", "weight":1 },
- { "value":"27.png", "weight":1 },
- { "value":"28.png", "weight":1 },
- { "value":"29.png", "weight":1 },
- { "value":"3.png", "weight":1 },
- { "value":"30.png", "weight":1 },
- { "value":"31.png", "weight":1 },
- { "value":"32.png", "weight":1 },
- { "value":"33.png", "weight":1 },
- { "value":"34.png", "weight":1 },
- { "value":"35.png", "weight":1 },
- { "value":"36.png", "weight":1 },
- { "value":"37.png", "weight":1 },
- { "value":"38.png", "weight":1 },
- { "value":"39.png", "weight":1 },
- { "value":"4.png", "weight":1 },
- { "value":"40.png", "weight":1 },
- { "value":"41.png", "weight":1 },
- { "value":"42.png", "weight":1 },
- { "value":"43.png", "weight":1 },
- { "value":"44.png", "weight":1 },
- { "value":"45.png", "weight":1 },
- { "value":"46.png", "weight":1 },
- { "value":"47.png", "weight":1 },
- { "value":"48.png", "weight":1 },
- { "value":"49.png", "weight":1 },
- { "value":"5.png", "weight":1 },
- { "value":"50.png", "weight":1 },
- { "value":"51.png", "weight":1 },
- { "value":"52.png", "weight":1 },
- { "value":"53.png", "weight":1 },
- { "value":"54.png", "weight":1 },
- { "value":"55.png", "weight":1 },
- { "value":"56.png", "weight":1 },
- { "value":"57.png", "weight":1 },
- { "value":"58.png", "weight":1 },
- { "value":"59.png", "weight":1 },
- { "value":"6.png", "weight":1 },
- { "value":"60.png", "weight":1 },
- { "value":"61.png", "weight":1 },
- { "value":"62.png", "weight":1 },
- { "value":"63.png", "weight":1 },
- { "value":"64.png", "weight":1 },
- { "value":"65.png", "weight":1 },
- { "value":"66.png", "weight":1 },
- { "value":"67.png", "weight":1 },
- { "value":"68.png", "weight":1 },
- { "value":"69.png", "weight":1 },
- { "value":"7.png", "weight":1 },
- { "value":"70.png", "weight":1 },
- { "value":"71.png", "weight":1 },
- { "value":"72.png", "weight":1 },
- { "value":"73.png", "weight":1 },
- { "value":"74.png", "weight":1 },
- { "value":"75.png", "weight":1 },
- { "value":"76.png", "weight":1 },
- { "value":"77.png", "weight":1 },
- { "value":"78.png", "weight":1 },
- { "value":"79.png", "weight":1 },
- { "value":"8.png", "weight":1 },
- { "value":"80.png", "weight":1 },
- { "value":"81.png", "weight":1 },
- { "value":"82.png", "weight":1 },
- { "value":"83.png", "weight":1 },
- { "value":"84.png", "weight":1 },
- { "value":"85.png", "weight":1 },
- { "value":"86.png", "weight":1 },
- { "value":"87.png", "weight":1 },
- { "value":"88.png", "weight":1 },
- { "value":"89.png", "weight":1 },
- { "value":"9.png", "weight":1 },
- { "value":"90.png", "weight":1 },
- { "value":"91.png", "weight":1 },
- { "value":"92.png", "weight":1 },
- { "value":"93.png", "weight":1 },
- { "value":"94.png", "weight":1 },
- { "value":"95.png", "weight":1 },
- { "value":"96.png", "weight":1 },
- { "value":"a0.png", "weight":1 },
- { "value":"a1.png", "weight":1 },
- { "value":"a10.png", "weight":1 },
- { "value":"a11.png", "weight":1 },
- { "value":"a12.png", "weight":1 },
- { "value":"a13.png", "weight":1 },
- { "value":"a14.png", "weight":1 },
- { "value":"a15.png", "weight":1 },
- { "value":"a16.png", "weight":1 },
- { "value":"a17.png", "weight":1 },
- { "value":"a18.png", "weight":1 },
- { "value":"a19.png", "weight":1 },
- { "value":"a2.png", "weight":1 },
- { "value":"a20.png", "weight":1 },
- { "value":"a21.png", "weight":1 },
- { "value":"a22.png", "weight":1 },
- { "value":"a23.png", "weight":1 },
- { "value":"a24.png", "weight":1 },
- { "value":"a25.png", "weight":1 },
- { "value":"a26.png", "weight":1 },
- { "value":"a27.png", "weight":1 },
- { "value":"a28.png", "weight":1 },
- { "value":"a29.png", "weight":1 },
- { "value":"a3.png", "weight":1 },
- { "value":"a30.png", "weight":1 },
- { "value":"a31.png", "weight":1 },
- { "value":"a32.png", "weight":1 },
- { "value":"a33.png", "weight":1 },
- { "value":"a34.png", "weight":1 },
- { "value":"a35.png", "weight":1 },
- { "value":"a36.png", "weight":1 },
- { "value":"a37.png", "weight":1 },
- { "value":"a38.png", "weight":1 },
- { "value":"a39.png", "weight":1 },
- { "value":"a4.png", "weight":1 },
- { "value":"a40.png", "weight":1 },
- { "value":"a41.png", "weight":1 },
- { "value":"a5.png", "weight":1 },
- { "value":"a6.png", "weight":1 },
- { "value":"a7.png", "weight":1 },
- { "value":"a8.png", "weight":1 },
- { "value":"a9.png", "weight":1 },
-#}}}
]
def from_random(self, url=TEST_URL):
return {
diff --git a/lib/utils.py b/lib/utils.py
index 78a7b1f..98b7c98 100644
--- a/lib/utils.py
+++ b/lib/utils.py
@@ -1,50 +1,2 @@
-import urllib
-import urllib2
-import sys
-import random
-def post_request(url, params):
- params = urllib.urlencode(params)
- sys.stderr.write(params)
- headers = {
- "Content-type": "application/x-www-form-urlencoded",
- "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36",
- "Accept": "text/plain"
- }
- try:
- req = urllib2.Request(url, params, headers)
- response = urllib2.urlopen(req)
- return response.read()
- except Exception as e:
- sys.stderr.write(str(e))
- raise
-class Service:
- def __init__(self):
- self._required_keys = []
- self.url = ""
- def new(self, params):
- for k in self._required_keys:
- if not k in params:
- params[k] = "";
- self.current_params = params
- return json.loads(post_request(self.url, self.current_params))
-
-class Pb_Api_Params:
- def _weighted_choice(self, param):
- weights_total = sum(map(lambda x: x["weight"], param))
- choice = random.randint(0, weights_total)
- position = 0
- for elem in param:
- position += elem["weight"]
- if position >= choice:
- return elem["value"]
- def _default_choice(self, param):
- heaviest_idx = 0
- heaviest_weight = 0
- idx = 0
- for elem in param:
- if elem["weight"] > heaviest_weight:
- heaviest_weight = elem["weight"]
- heaviest_idx = idx;
- idx += 1
- return param[heaviest_idx]["value"]
+#ok so does the way the files have been moved, split apart and renamed look good to you? almost, need to rename a bit more. as for this utils, there is only one method to call, so you can just put it inside Pb_Api.py it will be easier