User:Dave Young/Thematic Project 1: Bits and Pieces
< User:Dave Young
Revision as of 17:08, 13 December 2011 by Silviolorusso (talk | contribs) (→Script for Literal Draw/SVGs etc)
Computata Miscellanea
Places for homeless code snippets from the thematic project seminars and workshops.
Review Generator v0.01
Built in Nicolas Maleve's thematic project workshop. More information available here Below is the php code that shuffles the lines of the textfile and prints them to the webpage.
<?php
$goodlines = file('good.txt'); //the 'good' text file to read from
shuffle($goodlines); //randomise array order
$badlines = file('bad.txt');
shuffle($badlines);
$numLines = rand(1, 8); //random number of sentences in review - min 1, max 8 sentences
for ($i=0; $i<$numLines; $i++){
$currline = $goodlines[$i]; //store the current line $currline
if(preg_match("*name*", $currline)){ //if *name* is found, insert the form element 'name'
$currline = preg_replace("*name*", htmlspecialchars($_POST['name']), $currline);
}
if(preg_match("*city*", $currline)){ //if *city* is found, insert form element 'city'
$currline = preg_replace("*city*", htmlspecialchars($_POST['city']), $currline);
}
echo $currline; //print edited $currline
}
?>
Script for Literal Draw/SVGs etc
Places pixels based on an ascii grid template - an 'X' = a pixel relative to that point on the canvas, any other text character leaves a blank space. The script expects a grid.txt argument [String], a starting x [int], and y [int] argument, a pixel size [int], and an outputfile_name.txt [string].
Frog in a Boat -------------------------------------------------------------- ----------------------------XXXX-----I'm fucking wrecked!----- --------------------------XXXX-XX--/-------------------------- ------------------------XXXXXXXXX----------------------------- -----------------------XXXXXXXXXXXX----XX--------------------- ----------------------XXXXXXXXXXXXXXXXXX---------------------- XXX------------------XXXXXXXXXXX----XX---------------------XXX XXXX----------------XXXXXXXXXXXX---XX---------------------XXXX XXXXXXXXXXX---------XXXXXXXXXXXX--XX---------------XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ----XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX---- --------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------- -------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX------------- ----------------------------XX-------------------------------- ---------------------------XX--------------------------------- -------------------------XXXX---------------------------------
Frog at a Bar ----------------------------------------------- -------------------------------GIMME BEER!----- -----------------XX----XX-----/---------------- -----------------X-XXXX-XX--------------------- -----------------XXXXXXXXXXX------------------- ----------------XXXXXXXXXXXXXX----------------- X--------------XXX-XXXXXXXX-XXX-------------XXX XX-------------XX--XXXXXXXX---XXX----------XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------------XX------XX------------------- ------------------XX------XX------------------- ------------------XX------XX------------------- ------------------XX------XX------------------- -----------------XXX------XXX------------------ -----------------------------------------------
Frog 'Avin a Laugh ------------------------------------------------------------- ------------------------------------------------------------- ------------------------------------------------------------- ------------------------------------------------------------- ------------------XXXXX----------------XXXXX----------------- ----------------XXX--XXX--------------XXX--XX---------------- X--------------XXXX--XXXXXXXXXXXXXXXXXXXX--XXX--------------X XX------------XXXXX--XXXXXXXXXXXXXXXXXXXX--XXXX------------XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX------------XXXXXX--XXXXXXXXXXXXXXXXXX--XXXXX------------XX X--------------XXXXX----------------------XXXX--------------X ----------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXX---------------- ------------------XXXXXXXXXXXXXXXXXXXXXXXXX------------------ --------------------XXX---------------XXX-------------------- --------------------XXX---------------XXX-------------------- --------------------XXX---------------XXX-------------------- ------------------XXXXXXX-----------XXXXXXX------------------
#!/usr/bin/python
#automates grid-based transformations
#Args: gridfile | commandfile | columnwidth | rowheight
#
import sys
thegrid = open(sys.argv[1]) #grid template - X = draw commands
output = open(sys.argv[2], "w") #the outputted text to paste into
x = int(sys.argv[3]) #starting x point
y = int(sys.argv[4]) #starting y point
ox = x
oy = y
sz = int(sys.argv[5]) #the size of the rectangle
def commands(x, y, sz):
cmd = "move {0} {1} \n line {2} {3} \n line {4} {5} \n line {6} {7} \n close\n\n".format(x, y, x+sz, y, x+sz, y+sz, x, y+sz) #a rectangle!
output.write(cmd)
for line in thegrid:
ret=0
for char in line:
x+=sz
if char == str('X'):
commands(x, y, sz)
x=ox
y+=sz
thegrid.close()
output.close()