Commit 7ee3fd1d authored by santiaago's avatar santiaago
Browse files

clean up urls

parent ba58b035
Loading
Loading
Loading
Loading
+5 −19
Original line number Diff line number Diff line
@@ -3,8 +3,6 @@ package main
import (
	"flag"
	"github.com/taironas/route"
	"github.com/taironas/tinygraphs/controllers/colors"
	"github.com/taironas/tinygraphs/controllers/gradient"
	"github.com/taironas/tinygraphs/controllers/grid"
	"log"
	"net/http"
@@ -16,26 +14,14 @@ var root = flag.String("root", "app", "file system path")
func main() {
	r := new(route.Router)

	r.HandleFunc("/black/?", colors.Black)
	r.HandleFunc("/green/?", colors.Green)
	r.HandleFunc("/blue/?", colors.Blue)
	r.HandleFunc("/red/?", colors.Red)

	r.HandleFunc("/grid/?", grid.H6X6)
	r.HandleFunc("/grid/[0-8]/?", grid.Color)
	r.HandleFunc("/grid/square/[0-8]/[a-zA-Z0-9]+/?", grid.SquareColor) // cached
	r.HandleFunc("/grid/square/[a-zA-Z0-9]+/?", grid.Square)            //cached

	r.HandleFunc("/grid/random/?", grid.Random)
	r.HandleFunc("/grid/random/[0-8]/?", grid.RandomColor)

	r.HandleFunc("/grid/random/symetric/?", grid.RandomSymetricX)
	r.HandleFunc("/grid/random/symetric/x/?", grid.RandomSymetricX)
	r.HandleFunc("/grid/random/symetric/x/[0-8]?", grid.RandomSymetricXColor)
	r.HandleFunc("/grid/random/symetric/y/?", grid.RandomSymetricY)
	r.HandleFunc("/grid/random/symetric/y/[0-8]?", grid.RandomSymetricYColor)

	r.HandleFunc("/gradient/?", gradient.Gradient)
	r.HandleFunc("/squares/?", grid.Random)
	r.HandleFunc("/squares/random/?", grid.Random)
	r.HandleFunc("/squares/random/[0-8]/?", grid.RandomColor)
	r.HandleFunc("/squares/[a-zA-Z0-9]+/?", grid.Square)            //cached
	r.HandleFunc("/squares/[0-8]/[a-zA-Z0-9]+/?", grid.SquareColor) // cached

	r.AddStaticResource(root)

controllers/colors/color.go

deleted100644 → 0
+0 −45
Original line number Diff line number Diff line
package colors

import (
	"github.com/taironas/tinygraphs/write"
	"image"
	"image/color"
	"image/draw"
	"net/http"
)

func Black(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	black := color.RGBA{0, 0, 0, 255}
	draw.Draw(m, m.Bounds(), &image.Uniform{black}, image.ZP, draw.Src)

	var img image.Image = m
	write.Image(w, &img)
}

func Green(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	green := color.RGBA{0, 128, 0, 255}
	draw.Draw(m, m.Bounds(), &image.Uniform{green}, image.ZP, draw.Src)

	var img image.Image = m
	write.Image(w, &img)
}

func Blue(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	blue := color.RGBA{0, 0, 255, 255}
	draw.Draw(m, m.Bounds(), &image.Uniform{blue}, image.ZP, draw.Src)

	var img image.Image = m
	write.Image(w, &img)
}

func Red(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	blue := color.RGBA{255, 0, 0, 255}
	draw.Draw(m, m.Bounds(), &image.Uniform{blue}, image.ZP, draw.Src)

	var img image.Image = m
	write.ImageWithTemplate(w, &img)
}

controllers/gradient/gradient.go

deleted100644 → 0
+0 −17
Original line number Diff line number Diff line
package gradient

import (
	"github.com/taironas/tinygraphs/draw"
	"github.com/taironas/tinygraphs/write"

	"image"
	"net/http"
)

// Gradient is the handler for /gradient/
func Gradient(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	draw.Gradient(m)
	var img image.Image = m
	write.Image(w, &img)
}
+5 −5
Original line number Diff line number Diff line
@@ -16,11 +16,11 @@ import (
	"strings"
)

// Square is the handler for /grid/square/[A-Za-z0-9]+/?
// Square is the handler for /square/[A-Za-z0-9]+/?
// build a 6x6 grid with alternate colors based on the number passed in the url
func Square(w http.ResponseWriter, r *http.Request) {

	if id, err := misc.PermalinkString(r, 3); err != nil {
	if id, err := misc.PermalinkString(r, 2); err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {

@@ -57,14 +57,14 @@ func Square(w http.ResponseWriter, r *http.Request) {
	}
}

// gridColorHandler is the handler for /grid/square/[0-8]/[a-zA-Z0-9]+/?
// gridColorHandler is the handler for /square/[0-8]/[a-zA-Z0-9]+/?
// build a 6x6 grid with alternate colors based on the number passed in the url
func SquareColor(w http.ResponseWriter, r *http.Request) {

	if colorId, err := misc.PermalinkID(r, 3); err != nil {
	if colorId, err := misc.PermalinkID(r, 2); err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		if id, err1 := misc.PermalinkString(r, 4); err1 == nil {
		if id, err1 := misc.PermalinkString(r, 3); err1 == nil {

			h := md5.New()
			io.WriteString(h, id)

controllers/grid/symetric.go

deleted100644 → 0
+0 −82
Original line number Diff line number Diff line
package grid

import (
	"github.com/taironas/tinygraphs/colors"
	"github.com/taironas/tinygraphs/draw"
	"github.com/taironas/tinygraphs/misc"
	"github.com/taironas/tinygraphs/write"

	"image"
	"log"
	"net/http"
)

// handler for "/gird/random/symetric/x"
// generates a black and white grid random image.
func RandomSymetricX(w http.ResponseWriter, r *http.Request) {
	size := size(r)
	colorMap := colors.MapOfColorPatterns()
	bg, err1 := background(r)
	if err1 != nil {
		bg = colorMap[0][0]
	}
	fg, err2 := foreground(r)
	if err2 != nil {
		fg = colorMap[0][1]
	}
	m := image.NewRGBA(image.Rect(0, 0, size, size))
	draw.RandomSymetricInXGrid6X6(m, bg, fg)
	var img image.Image = m
	write.Image(w, &img)
}

// handler for "/gird/random/symetric/y"
// generates a black and white grid random image.
func RandomSymetricY(w http.ResponseWriter, r *http.Request) {
	size := size(r)
	colorMap := colors.MapOfColorPatterns()
	bg, err1 := background(r)
	if err1 != nil {
		bg = colorMap[0][0]
	}
	fg, err2 := foreground(r)
	if err2 != nil {
		fg = colorMap[0][1]
	}
	m := image.NewRGBA(image.Rect(0, 0, size, size))
	draw.RandomSymetricInYGrid6X6(m, bg, fg)
	var img image.Image = m
	write.Image(w, &img)
}

// handler for "/grid/random/symetric/y/[0-9]"
// generates a grid random image with a specific color based on the colorMap
func RandomSymetricYColor(w http.ResponseWriter, r *http.Request) {
	intID, err := misc.PermalinkID(r, 5)
	if err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		size := size(r)
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		colorMap := colors.MapOfColorPatterns()
		draw.RandomSymetricInYGrid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
		var img image.Image = m
		write.Image(w, &img)
	}
}

// handler for "/grid/random/symetric/x/[0-9]"
// generates a grid random image with a specific color based on the colorMap
func RandomSymetricXColor(w http.ResponseWriter, r *http.Request) {
	intID, err := misc.PermalinkID(r, 5)
	if err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		size := size(r)
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		colorMap := colors.MapOfColorPatterns()
		draw.RandomSymetricInXGrid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
		var img image.Image = m
		write.Image(w, &img)
	}
}