summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbreaker.py5
-rwxr-xr-xdb.py2
-rwxr-xr-xgradient.py3
-rw-r--r--imbreak_main.js113
-rw-r--r--imgradient_index.html532
-rwxr-xr-ximgrid.py12
-rw-r--r--imgrid_main.js121
-rwxr-xr-xpbserver.py43
8 files changed, 40 insertions, 791 deletions
diff --git a/breaker.py b/breaker.py
index 33dcba9..4bb5bf9 100755
--- a/breaker.py
+++ b/breaker.py
@@ -11,7 +11,8 @@ urlencode = urllib.urlencode
urlopen = urllib2.urlopen
Request = urllib2.Request
-WORKING_DIR = "/tmp"
+#WORKING_DIR = "/tmp"
+WORKING_DIR = "/var/www/cache"
BIN_CONVERT = "/usr/bin/convert"
BIN_IDENTIFY = "/usr/bin/identify"
DEFAULT_FINALFORMAT = "png";
@@ -19,7 +20,7 @@ DEFAULT_FINALFORMAT = "png";
SUBTLE_BREAK_MARK = 'pron'
EXTREME_BREAK_MARK = 'sugar'
-HEADER_OFFSET = 5000
+HEADER_OFFSET = 2000
MAX_SIZE = 1024 * 1024 * 1.2 * 1.5
diff --git a/db.py b/db.py
index 23ebbe4..2570b4f 100755
--- a/db.py
+++ b/db.py
@@ -1,6 +1,6 @@
import MySQLdb
USER = "asdfus"
-PASSWORD = "urJJwLjdO9GPuOxk"
+PASSWORD = "gTYgT&M6q"
DATABASE = "asdfus"
class db:
diff --git a/gradient.py b/gradient.py
index baefc6b..1fa8e9f 100755
--- a/gradient.py
+++ b/gradient.py
@@ -42,7 +42,8 @@ DEFAULT_COLORS = {
"color2" : "black",
};
-WORKING_DIR = '/tmp'
+#WORKING_DIR = '/tmp'
+WORKING_DIR = '/var/www/cache'
DEFAULT_WIDTH = "200"
DEFAULT_HEIGHT = "200"
diff --git a/imbreak_main.js b/imbreak_main.js
deleted file mode 100644
index 78ae753..0000000
--- a/imbreak_main.js
+++ /dev/null
@@ -1,113 +0,0 @@
-var Main =
- {
- firsttime: true,
- generating: false,
- thelast: "",
- enter: function (e)
- {
- if (Main.generating)
- return
- if (e.keyCode === 13)
- Main.go()
- },
- go: function ()
- {
- if (Main.generating)
- return
- Main.generating = true
- var theloader = '<span style="width:100%;margin-right:40%"><img style="width:140px;height:120px;display:inline;" src="generating.gif"></img></span>'
- $("#output-cmd").html(theloader).show()
- $('.result').show()
- $('.results').show()
- $("#output-img").show()
- $("#output-url").show()
- $("#result").show()
- var data =
- {
- breakmode:$('input:radio[name=modeswitch]:checked').val(),
- breaktype: $('#breaktype :selected').val(),
- breakangle: $("#breakangle").val(),
- url: $('#url').val(),
- username: $('#username').val(),
- firsttime: Main.firsttime.toString()
- }
- if (data["breakmode"] == "gradual")
- {
- data["breakmode"] = "subtle"
- if (Main.lines && Main.thelast == $('#url').val())
- {
- Main.firsttime = false
- data["url"] = Main.lines[1]
- }
- }
- else
- {
- Main.firsttime = true
- }
- Main.thelast = $('#url').val();
- thestring = JSON.stringify(data);
- $('#error').append(thestring);
- if (data.username.length > 0)
- document.cookie = "imname="+data.username+";path=/;domain=.asdf.us;max-age=1086400"
- $.post("/cgi-bin/im/break/breaker", data, Main.callback)
- },
- error: function (s)
- {
- $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show()
- $("#output-url").hide()
- $("#output-img").hide()
- },
- filesize: function (size)
- {
- if (size < 1024)
- return size.toString() + " bytes"
- if (size < 1024 * 1024)
- return Math.floor (size/1024).toString() + " KB"
- else
- return Math.floor (size/(1024*1024)).toString() + " MB"
- },
- callback: function (data)
- {
- data = JSON.parse(data)
- $('#error').append('called');
- $("#output-cmd").html('')
- $('#output-url').val(data.url)
- $("#output-img").html("click image to enlarge<br><a target=_blank href='"+data.url+"'>"+"<img src='"+data.url+"' id='output-image'></img><br>"+"</a>"
-);
- $("#output-info").html('-ACTUAL SIZE-<br>'+Main.filesize(data.size)+'<br>'+data.width+'<br>'+data.height+'<br><br>'+'<span>see more at &rarr;<a href="http://asdf.us/im/gallery">photoblaster gallery</a></span>'+'<br>')
- Main.generating = false
- },
- cookie: function ()
- {
- if (document.cookie)
- {
- var cookies = document.cookie.split(";")
- for (i in cookies)
- {
- var cookie = cookies[i].split("=")
- if (cookie[0].indexOf("imname") !== -1)
- {
- if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length)
- {
- return cookie[1]
- }
- }
- }
- }
- return ""
- },
- init: function ()
- {
- var name = Main.cookie ()
- $("#username").val(name)
- $("#breakbutton").bind("click", Main.go)
- $(document).bind("keydown", Main.enter)
- }
- }
-//$('#theform').each(function(){
-// this.reset();
-// });
-
-
-
-Main.init ()
diff --git a/imgradient_index.html b/imgradient_index.html
deleted file mode 100644
index 70a39dc..0000000
--- a/imgradient_index.html
+++ /dev/null
@@ -1,532 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<!--
- __ __ __ __ __ __ __
-/_/\/\ /_/\/\ /_/\/\ /_/\/\ /_/\/\ /_/\/\ /_/\/\
-\_\ / \_\ / \_\ / \_\ / \_\ / \_\ / \_\ /
-/_/ \ /_/ \ /_/ \ /_/ \ /_/ \ /_/ \ /_/ \
-\_\/\ \ \_\/\ \ \_\/\ \ \_\/\ \ \_\/\ \ \_\/\ \ \_\/\ \
- \_\/ \_\/ \_\/ \_\/ \_\/ \_\/ \_\/
--->
-
-<html>
-<head>
-<title>GRADIENT PHOTOBLASTER</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta property="og:title" content="GRADIENT PHOTOBLASTER"/>
-<meta property="og:type" content="website"/>
-<meta name=Author content="Pepper .... with help from Jules Welter/LaPlace"/>
-<meta property="og:url" content="http://asdf.us/imgradient/"/>
-<meta property="og:image" content="http://asdf.us/g/experiment/whitegreencrazy.jpg" />
-<meta property="og:site_name" content="asdf.us"/>
-<meta property="og:description" content="choose colors and options, let it flow out of you."/>
-<meta property="fb:admins" content="100001923956223,1709246"/>
-<link href="css/custom-theme/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
-<style type="text/css">
-*
- {
- padding: 0;
- margin: 0;
- font-family: times;
- }
-body
- {
- background-color: #e6e0e0;
- color: #696969;
- overflow-x:hidden;
- }
-h1
- {
- font-size: 40px;
- }
-#brightness-slider,#hue-slider,#saturation-slider,#blur-slider
- {
- margin-top:10px;
- margin-bottom:10px;
- background-color:#B3B3B3;
- }
-#stripenumber,#stripeintensity,#percentbeveled
- {
- height:10px;
- width :25px;
- font-size:9;
- }
-#controls,#result
- {
- padding: 10px;
- width: 460px;
- }
-#controls
- {
- display:block;
- font-size: 14px;
- top: 10px; left: 10px;
- z-index: 5;
- background-color: #fff;
- -moz-box-shadow: 0px 0px 9px 3px mediumseagreen;
- -webkit-box-shadow: 0px 0px 9px 3px mediumseagreen;
- box-shadow: 0px 0px 9px 3px mediumseagreen;
- border: 60px outset #777;
- }
-#result
- {
- background-color: #d6d0d0;
- top: 10px; left: 580px;
- z-index: 5;
- display: none;
- position: fixed;
- }
-#instructions
- {
- position: absolute;
- bottom: 10px;
- left: 10px;
- line-height: 18px;
- z-index: 1;
- }
-p
- {
- background-color: #fff;
- padding: 10px;
- font-size: 14px;
- width: 430px;
- display: block;
- }
-#gallery-link
- {
- background-color: #fff;
- position: absolute;
- top: 10px;
- right: 10px;
- padding: 10px;
- z-index: 10;
- }
-.error
- {
- color: red;
- font-size: 20px;
- }
-a
- {
- color: #b4d;
- font-weight: bold;
- }
-label
-
- {
- display: inline-block;
- width: 300px;
- padding-right: 10px;
- text-align: center;
- }
-input[type=text]
- {
- width: 100px;
- }
-#img-url,#output-url,#img-background
- {
- width: 200px;
- }
-#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate,#img-blur,#img-tilt
- {
- width: 50px;
- text-align: right;
- }
-button
- {
- padding: 2px 5px;
- font-size: 16px;
- width:200px;
- float:right;
- font-weight:bold;
- color:#222222;
- }
-#result img
- {
- max-width: 400px;
- max-height: 400px;
- }
-#output-cmd
- {
- font-size: 12px;
- white-space: pre;
- }
-.shim
- {
- height: 10px;
- clear: both;
- display: block;
- }
-#output-url
- {
- width: 320px;
- }
-#likebutton
- {
- position: fixed;
- bottom: 10px;
- right: 10px;
- width: 350px;
- background-color: #fff;
- padding: 10px;
- color: #ddd;
- font-family: times;
- text-transform: uppercase;
- }
-.arrow
- {
- float:right;
- white-space:inherit;
- display:inline;
- }
-
-</style>
-<body>
-<div id="error"></div>
-<div id="controls">
-<form id="reset" onsubmit="return false">
-<h1>
- GRADIENT GENERATOR FOR PHOTOBLASTER
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115918_pepper.gif"/>
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115933_pepper.gif"/>
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115941_pepper.gif"/>
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115946_pepper.gif"/>
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115946_pepper.gif"/>
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115946_pepper.gif"/>
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115946_pepper.gif"/>
- <img src="http://i.asdf.us/im/4e/angreekcolumnshowcaselg_1315115946_pepper.gif"/>
-</h1>
-
- <span class="shim"></span>
-
-
- <label><span style="font-weight:bold; color:black;">CHOOSE A GRADIENT TYPE<span class="arrow">&rarr;</span></span></label>
- <select id="gradient-type">
- <option selected="selected" value="gradient">STRAIGHT FADE</option>
- <option value="plasma">PLASMA</option>
- <!-- <option value="-function sinusoid 4,-90 gradient:">bands</option>-->
- <option value="canvas">JUST A FLAT COLOR</option>
- <option value="radial">RADIAL GRADIENT</option>
- <option value="colorspace">GRAYSCALE PLASMA</option>
- <option value="plasmawash">PLASMA WASH</option>
- <option value="gradientwash">GRADIENT WASH</option>
- <option value="mirrored">MIRRORED PLASMA</option>
- <option value="noise">RANDOM NOISE</option>
- </select>
-
- <span class="shim"></span>
-
- <label><span style="font-weight:bold">ADJUST THE WIDTH</span><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-width" value="400" /><small>px</small>
- <br/>
-
- <span class="shim"></span>
-
- <label><span style="font-weight:bold">ADJUST THE HEIGHT</span><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-height" value="400" /><small>px</small>
- <br/>
-
- <span class="shim"></span>
-
- <label>CHOOSE SOME COLORS<span class="arrow">&rarr;</span></label>
- <a href="http://asdf.us/imgrid/colors" target="_blank">list of color names</a>
-
- <span class="shim"></span>
-
- <label><span style="font-weight:bold; color:black;">COLOR 1</span><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-color1" value="white" />
- <br/>
-
- <span class="shim"></span>
-
- <label><span style="font-weight:bold; color:black;">COLOR 2</span><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-color2" value="black" />
- <br/>
-
- <span class="shim"></span>
-
- <span style="font-size:11px">
- <label>BANDS(also called stripes)?<span class="arrow">&rarr;</span></label>
- <input type="checkbox" id="stripes" value="1" />
- <small>if yes...</small><label>NUMBER:</label><input value="" type="text" id="stripenumber"></input><small>0-400</small><label>INTENSITY:</label><input value="" type="text" id="stripeintensity"></input><small>0-2000</small>
- </span>
-
- <span class="shim"></span>
- <span class="shim"></span>
-
- <label>BLURRINESS <small>(0-20)</small><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-blur" value="" />
- <br/>
-
- <div class="slider" id="blur-slider"></div>
-
- <label>HUE <small>(0-200)</small><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-hue" value="" />
- <br/>
-
- <div class="slider" id="hue-slider"></div>
-
- <label>SATURATION <small>(0-200)</small><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-saturation" value="" />
- <br/>
-
- <div class="slider" id="saturation-slider"></div>
-
- <label>BRIGHTNESS <small>(0-200)</small><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-brightness" value="" />
- <br/>
-
- <div class="slider" id="brightness-slider"></div>
-
- <span class="shim"></span>
-
-
- <label><span style="font-size:11px">CHOOSE A HALFTONE FILTER</span><span class="arrow">&rarr;</span></label>
- <select id="halftone-type">
- <option selected="selected" value="">None</option>
- <option value="checkeredfade">checkered-fade</option>
- <option value="etchedtransition">etched-transition</option>
- <option value="bendaydots">benday dots</option>
- <option value="smallerdots1">smaller dots 1</option>
- <option value="smallerdots2">smaller dots 2</option>
- <option value="flatstripes">flat stripes</option>
- </select>
-
-
- <span class="shim"></span>
-
- <label><span style="font-size:11px">ADD A BEVELED BORDER</span><span class="arrow">&rarr;</span></label>
-
- <select id="bevel-type">
- <option selected="selected" value="">None</option>
- <option value="flatout">flat out</option>
- <option value="flatinner">flat inner</option>
- <option value="evenlyframed">evely framed</option>
- <option value="biginner">big inner</option>
- <option value="bigouter">big outer</option>
- <option value="dramaticflatout">dramatic flat out</option>
- <option value="dramaticflatinner">dramatic flat inner</option>
- </select>
-
- <span style="font-size:11px"><label>PERCENT BEVELED?</label></span> <input val="" type="text" id="percentbeveled"><small>%</small>
-
-
- <span class="shim"></span>
- <span class="shim"></span>
- <label>FLIP HORIZONTALLY?
- <span class="arrow">&rarr;</span></label>
- <input type="checkbox" id="img-flop" value="1" />
- <br/>
-
- <label>FLIP VERTICALLY?<span class="arrow">&rarr;</span></label>
- <input type="checkbox" id="img-flip" value="1" />
- <br/>
- <label>TILT<small>(0-360)</small><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-tilt" value="" />&deg;
- <br/>
- <span class="shim"></span>
-
- <label>ROTATE THE CANVAS<small>(0-360)</small><span class="arrow">&rarr;</span></label>
- <input type="text" id="img-rotate" value="" />&deg;
- <br/>
-
- <span class="shim"></span>
-
- <span class="shim"></span>
-
- <label>output format:</label>
- <select id="img-format">
- <option selected="selected">png</option>
- <option>jpg</option>
- <option>gif</option>
- </select>
-
- <span class="shim"></span>
-
- <label>PUT YOUR NAME HERE &gt;&gt;&gt;</label>
- <input type="text" id="img-name" value="" />
- <br/>
-
- <span class="shim"></span>
-
- <label>&nbsp;</label>
- <button id="img-generate">GENERATE</button>
-
- <span class="shim"></span>
- <br>
- VIEW AND ARRANGE THE PHOTOBLASTS &rarr; <a href="/im/gallery/" target="_blank">Image Gallery</a><br/>
- <span class="shim"></span>
- OPEN THE PHOTOBLASTER EDITOR &rarr; <a href="/im" target="_blank">PHOTOBLASTER</a>
- <span class="shim"></span>
- TOP PHOTOBLASTS GO TO THE TUMBLR &rarr; <a href="http://photoblaster.tumblr.com/">Photoblaster Tumblr</a>
- </p>
-
-</div>
-
-<div id="result">
- &rarr; <input type="text" id="output-url"/><br/>
- <span id="output-cmd"></span><br/>
-
- <img id="output-img" />
-</div>
-</form>
-</div>
-
-<div id="likebutton">
-<div id="fb-root" style="background-color: transparent;"></div><script src="http://connect.facebook.net/en_US/all.js#appId=236917449658413&amp;xfbml=1"></script><fb:like href="http://asdf.us/im/" send="false" width="347" show_faces="true" colorscheme="light" font="" style="background-color: transparent;"></fb:like>
-</div>
-
-<script type="text/javascript" src="/js/jquery.js"></script>
-<script type="text/javascript" src="jquery-ui-1.8.16.custom.min.js"></script>
-<script type="text/javascript">
-
- $(function() {
- $( "#blur-slider" ).slider({
- value:0,
- min: 0,
- max: 20,
- step: 1,
- slide: function( event, ui ) {
- $( "#img-blur" ).val(ui.value);
- }
- });
- $( "#img-blur" ).val( $( "#blur-slider" ).slider( "value" ) );
-
- $( "#brightness-slider" ).slider({
- value:100,
- min: 0,
- max: 200,
- step: 1,
- slide: function( event, ui ) {
- $( "#img-brightness" ).val(ui.value);
- }
- });
- $( "#img-brightness" ).val( $( "#brightness-slider" ).slider( "value" ) );
-
- $( "#hue-slider" ).slider({
- value:100,
- min: 0,
- max: 200,
- step: 1,
- slide: function( event, ui ) {
- $( "#img-hue" ).val(ui.value);
- }
- });
- $( "#img-hue" ).val($( "#hue-slider" ).slider( "value" ) );
-
- $( "#saturation-slider" ).slider({
- value:100,
- min: 0,
- max: 200,
- step: 1,
- slide: function( event, ui ) {
- $( "#img-saturation" ).val(ui.value);
- }
- });
- $( "#img-saturation" ).val($( "#saturation-slider" ).slider( "value" ) );
- });
-
-var Main =
- {
- API_HEADER: "#@imgradient",
- enter: function (e)
- {
- if (e.keyCode === 13)
- Main.go()
- },
- go: function ()
- {
- $("#output-cmd").html('generating...').show()
- $("#result").show()
- var data =
- {
- flip: $('#img-flip:checked').val() !== undefined ? "true" : "false",
- flop: $('#img-flop:checked').val() !== undefined ? "true" : "false",
- tilt: $('#img-tilt').val(),
- rotate: $("#img-rotate").val(),
- subtract: $("#img-subtract").val(),
- width: $("#img-width").val(),
- height: $("#img-height").val(),
- color2: $("#img-color2").val(),
- color1: $("#img-color1").val(),
- brightness: $("#img-brightness").val(),
- saturation: $("#img-saturation").val(),
- blurriness: $("#img-blur").val(),
- hue: $("#img-hue").val(),
- contrast: $("#img-contrast").val(),
- gradienttype: $('#gradient-type :selected').val(),
- bevel: $('#bevel-type :selected').val(),
- percentbeveled: $('#percentbeveled').val(),
- halftone: $('#halftone-type :selected').val(),
- stripes: $('#stripes:checked').val() !== undefined ? "true" : "false",
- stripenumber: $('#stripenumber').val(),
- stripeintensity: $('#stripeintensity').val(),
- format: $('#img-format :selected').text(),
- name: $("#img-name").val(),
- }
- if (data.name.length > 0)
- document.cookie = "imname="+data.name+";path=/;domain=.asdf.us;max-age=1086400"
- //FIXME
- $.post("/cgi-bin/im/gradient", data, Main.callback)
- $("#controls").css('margin',"")
- },
- error: function (s)
- {
- $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show()
- $("#output-url").hide()
- $("#output-img").hide()
- },
- callback: function (data)
- {
- data = JSON.parse(data)
- if (data.error){
- return Main.error(data.error)
- }
- $("#output-cmd").html("size: "+Main.filesize(data.size)+"<br/>"+data.height + "x" + data.width)
- $("#output-url").val(data.url)
- $("#output-img").hide().attr("src", data.url).fadeIn(700)
- },
- filesize: function (size)
- {
- if (size < 1024)
- return size + " bytes"
- if (size < 1024 * 1024)
- return Math.floor (size/1024) + " KB"
- else
- return Math.floor (size/(1024*1024)) + " MB"
- },
- cookie: function ()
- {
- if (document.cookie)
- {
- var cookies = document.cookie.split(";")
- for (i in cookies)
- {
- var cookie = cookies[i].split("=")
- if (cookie[0].indexOf("imname") !== -1)
- {
- if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length)
- {
- return cookie[1]
- }
- }
- }
- }
- return ""
- },
- init: function ()
- {
- var name = Main.cookie ()
- $("#img-name").val(name)
- $("img-generate").click(function(){$('#img-generate').html('whos got a plastic bag')})
- $("#img-generate").bind("click", Main.go)
- $(document).bind("keydown", Main.enter)
- },
- }
-Main.init ()
-document.getElementById("reset").reset()
-</script>
-<script type="text/javascript" src="http://asdf.us/js/pbembed.js"></script>
-</body>
-</html>
-
diff --git a/imgrid.py b/imgrid.py
index 5a893f7..86597bb 100755
--- a/imgrid.py
+++ b/imgrid.py
@@ -15,7 +15,8 @@ urlopen = urllib2.urlopen
Request = urllib2.Request
MAX_SIZE = 1024 * 1024 * 1.2 * 1.5
-WORKING_DIR = "/tmp"
+WORKING_DIR = "/var/www/cache"
+#WORKING_DIR = "/tmp"
BIN_CONVERT = "/usr/bin/convert"
BIN_COMPOSITE = "/usr/bin/composite"
@@ -170,6 +171,10 @@ class Imgrid():
raise;
elif k in [ 'bgcolor', 'planebgcolor' ]:
self.params[k] = params[k]
+ elif k == 'opacity':
+ self.params[k] = str(float(params[k]))
+ elif k == 'zoom':
+ self.params[k] = int(float(params[k]))
else:
self.params[k] = bool_correct(sanitize(params[k]))
else:
@@ -250,7 +255,8 @@ class Imgrid():
if self.params.swing: cmd += ["pan={}".format(self.params.swing)]
if self.params.tilt: cmd += ["tilt={}".format(self.params.tilt)]
if self.params.roll: cmd += ["roll={}".format(self.params.roll)]
- if self.params.zoom: cmd += ["zoom={}".format(self.params.zoom)]
+ if self.params.zoom:
+ cmd += ["zoom={}".format(self.params.zoom)]
if cmd == [THREEDROTATE]: #if nothing has been added
return
if self.params.planebgcolor and not self.params.planebgimage:
@@ -258,7 +264,7 @@ class Imgrid():
else:
cmd += ["bgcolor=none"]
cmd += ["skycolor={}".format(self.params.skycolor or 'none')]
- if self.params.transition: cmd += ["vp={}",self.params.transition]
+ if self.params.transition: cmd += ["vp={}".format(self.params.transition)]
cmd += [ self.filepath, self.filepath ]
self._call_cmd(cmd)
diff --git a/imgrid_main.js b/imgrid_main.js
deleted file mode 100644
index 29114f2..0000000
--- a/imgrid_main.js
+++ /dev/null
@@ -1,121 +0,0 @@
-var Main =
- {
- API_HEADER: "#@imgrid",
- generating: false,
- enter: function (e)
- {
- if (Main.generating)
- return
- if (e.keyCode === 13)
- Main.go()
- },
- go: function ()
- {
- if (Main.generating)
- return
- Main.generating = true
- var theloader = '<span style="width:100%;margin-right:40%"><img style="width:140px;height:120px;display:inline;" src="generating.gif"></img></span>'
- $("#output-cmd").html(theloader).show()
- if($('#transition :selected').val() === 'tile'||$('#transition :selected').val()=== 'random')
- {
- $('#output-cmd').append("<br><span style='color:red'>WARNING: THIS REQUEST MIGHT TAKE A WHILE</span>")
- }
- $('.results').show()
- $("#output-img").show()
- $("#output-url").show()
- $("#result").show()
- var data =
- {
- width: $("#img-width").val(),
- height: $("#img-height").val(),
- linethickness: $("#line-thickness").val(),
- opacity: $("#line-opacity").val(),
- linecolor: $("#line-color").val(),
- spacing: $("#line-spacing").val(),
- vlines: $('#v-lines:checked').val() !== undefined ? "true" : "false",
- hlines: $('#h-lines:checked').val() !== undefined ? "true" : "false",
- shadow: $('#shadow:checked').val() !== undefined ? "true" : "false",
- bgimage: $("#bg-image").val(),
- bgcolor: $("#bg-color").val(),
- imageinstead: $("#imageinstead").val(),
- planebgcolor: $("#planebgcolor").val(),
- skycolor: $("#skycolor").val(),
- planebgimage: $("#planebgimage").val(),
- transition: $('#transition :selected').val(),
- swing: $("#swing").val(),
- tilt: $("#tilt").val(),
- roll: $("#roll").val(),
- zoom: $("#zoom").val(),
- trim: $("#trim:checked").val() !== undefined ? "true" : "false",
- format: $('#format :selected').val(),
- username: $('#username').val()
- }
- if (data.transition == 'infinite'){
- $('#genbutton').append("<span style='color:red'>WARNING:This might take a while</span>")}
- if (data.username.length > 0)
- document.cookie = "imname="+data.username+";path=/;domain=.asdf.us;max-age=1086400"
- $.post("localhost:8999/imgrid", data, Main.callback)
- },
- error: function (s)
- {
- $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show()
- $("#output-url").hide()
- $("#output-img").hide()
- },
- filesize: function (size)
- {
- if (size < 1024)
- return size.toString() + " bytes"
- if (size < 1024 * 1024)
- return Math.floor (size/1024).toString() + " KB"
- else
- return Math.floor (size/(1024*1024)).toString() + " MB"
- },
- callback: function (data)
- {
- data = JSON.parse(data)
- $("#output-cmd").html('')
- $("#output-img").html("<a target=_blank href='"+data.url+"'>"+"<img src='"+data.url+"'></img><br>"+"</a>");
- $("#output-url").val(data.url)
- $("#output-info").html('-ACTUAL SIZE-<br>'+Main.filesize(data.size)+'<br>'+data.width+'<br>'+data.height+'<br><br>'+'<span style="float:right">see more at &rarr;<a href="http://asdf.us/im/gallery">photoblaster gallery</a></span>'+'<br>')
- Main.generating = false
- },
- cookie: function ()
- {
- if (document.cookie)
- {
- var cookies = document.cookie.split(";")
- for (i in cookies)
- {
- var cookie = cookies[i].split("=")
- if (cookie[0].indexOf("imname") !== -1)
- {
- if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length)
- {
- return cookie[1]
- }
- }
- }
- }
- return ""
- },
- init: function ()
- {
- var name = Main.cookie ()
- $("#username").val(name)
- if (name)
- {
-// $("#userlink").show()
- // $("#userlink a").attr("href", "/im/gallery/?name="+name).html(name+"'s photoblasts")
- }
- $("#generate").bind("click", Main.go)
- $(document).bind("keydown", Main.enter)
- }
- }
-$('#theform').each(function(){
- this.reset();
- });
-
-
-
-Main.init ()
diff --git a/pbserver.py b/pbserver.py
index cea6314..6712b76 100755
--- a/pbserver.py
+++ b/pbserver.py
@@ -28,7 +28,7 @@ def hashdir(filename):
def file_size (filepath):
try:
- return os.stat(file)[6]
+ return os.stat(filepath)[6]
except Exception as e:
sys.stderr.write(str(e))
raise;
@@ -37,7 +37,7 @@ def bin_identify (filepath):
ident = Popen([BIN_IDENTIFY, filepath], stdout=PIPE).communicate()[0]
partz = ident.split(" ")
width,height = partz[2].split("x")
- return width, height
+ return [ width, height ]
def cleanup(filepath):
@@ -47,10 +47,10 @@ def cleanup(filepath):
sys.stderr.write(str(e))
raise
-def moveToS3(filename,objectname):
+def s3move(filepath,objectname):
conn = s3.AWSAuthConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
- filedata = open(filename, 'rb').read()
- content_type = mimetypes.guess_type(filename)[0]
+ filedata = open(filepath, 'rb').read()
+ content_type = mimetypes.guess_type(filepath)[0]
try:
conn.put(BUCKET_NAME, objectname, s3.S3Object(filedata),
{
@@ -69,7 +69,7 @@ def insert_cmd (date, remote_addr, username, url, directory, oldfile, newfile, c
sql += "(date, remote_addr, name, url, dir, oldfile, newfile, cmd, dataobj, tag) "
sql += "VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
#or "NULL"
- args = (now(), remote_addr, username, url, directory, oldfile, newfile, cmd, dataobj, tag)
+ args = (date, remote_addr, username, url, directory, oldfile, newfile, cmd, dataobj, tag)
#args = (now(), os.environ['REMOTE_ADDR'], name, url, dir, oldfile, newfile, " ".join(cmd),dataobj)
DB.execute(sql, args)
except Exception as e:
@@ -79,10 +79,12 @@ def insert_cmd (date, remote_addr, username, url, directory, oldfile, newfile, c
def return_image(im, insert_url="NULL"):
directory = hashdir(im.filename)
dimensions = bin_identify(im.filepath)
- objectname = "{}/{}".format(directory, im.filename)
+ size = file_size(im.filepath)
+ objectname = "im/{}/{}".format(directory, im.filename)
try:
s3move(im.filepath, objectname)
- # return "{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}".format(
+ cleanup(im.filepath)
+# # return "{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}".format(
insert_cmd(
im.now,
request.environ.get('REMOTE_ADDR'),
@@ -95,9 +97,9 @@ def return_image(im, insert_url="NULL"):
json.dumps(im.params),
im.tag,
)
- return json.loads({
- 'url' : "{}/{}".format(BASE_URL, objectname)
- 'size' : file_size(im.filepath),
+ return json.dumps({
+ 'url' : "{}/{}".format(BASE_URL, objectname),
+ 'size' : size,
'width' : "{}px".format(dimensions[0]),
'height' : "{}px".format(dimensions[1]),
})
@@ -106,7 +108,7 @@ def return_image(im, insert_url="NULL"):
raise;
-@post('/gradient')
+@post('/im/api/imgradient')
def gradient():
try:
im = Gradient(request.forms)
@@ -116,17 +118,22 @@ def gradient():
sys.stderr.write(str(e))
raise;
-@post('/imgrid')
+@post('/im/api/imgrid')
def imgrid():
try:
im = Imgrid(request.forms)
im.create();
- return return_image(im, im.params.imageinstead or im.params.bgimage or im.params.planebgimage or "NULL")
+ url= "NULL"
+ for elem in [ im.params.imageinstead , im.params.bgimage, im.params.planebgimage ]:
+ if elem:
+ url = elem['url']
+ break
+ return return_image(im, url)
except Exception as e:
sys.stderr.write(str(e))
- return json.load({ 'error' : 'Request could not be processed' })
+ return json.dumps({ 'error' : 'Request could not be processed' })
-@post('/breaker')
+@post('/im/api/imbreak')
def breaker():
try:
im = Breaker(request.forms)
@@ -134,6 +141,6 @@ def breaker():
return return_image(im, im.params['url'])
except Exception as e:
sys.stderr.write(str(e))
- return json.load({ 'error' : 'Request could not be processed' })
+ return json.dumps({ 'error' : 'Request could not be processed' })
-run(host='0.0.0.0', port=8999, debug=True)
+run(host='0.0.0.0', server='flup', port=8999, debug=True)