Advertisement
rednoah

colorizer.groovy

Jul 12th, 2012
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.46 KB | None | 0 0
  1. import groovy.swing.SwingBuilder
  2. import javax.swing.BoxLayout
  3. import java.awt.Color
  4. import java.awt.SystemColor
  5. import java.awt.color.ColorSpace
  6.  
  7. def rgb(c) {
  8.     return "rgb($c.red, $c.green, $c.blue)"
  9. }
  10.  
  11. def tween(a,z,f) {
  12.     def ca = Color.RGBtoHSB(a.red,a.green,a.blue,null)
  13.     def cz = Color.RGBtoHSB(z.red,z.green,z.blue,null)
  14.     def out = new float[3]
  15.     (0..2).each{ i -> out[i] = ca[i] + ((cz[i]-ca[i]) * f) }
  16.     return Color.getHSBColor(out[0],out[1],out[2])
  17. }
  18.  
  19. def getHTML(file) {
  20.     def path = file.absolutePath.split('\\\\') as List
  21.     def html = '<html><nobr>'
  22.    
  23.     int n = 0
  24.     colors = path[0..-2].collect{
  25.         float i = n++
  26.         float l = path.size() - 2
  27.         float f = i / l
  28.         def a = Color.decode("#FF7F50")
  29.         def z = SystemColor.textHighlight.darker()
  30.         z = Color.decode("#008080")
  31.        
  32.         def out = tween(a,z,f)
  33.        
  34.         [it, out]
  35.     }
  36.     colors << [path[-1], java.awt.SystemColor.controlText]
  37.  
  38.     colors.each{
  39.         p = it[0]
  40.         c = it[1]
  41.         html += """<span style='color:${rgb(c)}'>$p</span>"""
  42.         if (!p.contains(":")) true
  43.             html += """ """
  44.         if (!p.contains(".avi")) {
  45.             html += """<span style='font-weight:normal; color:#2F4F4F'>/</span>"""
  46.             html += """ """
  47.         }
  48.     }
  49.    
  50.     html += '</nobr></html>'
  51.     return html
  52. }
  53.  
  54.  
  55.  
  56.  
  57. def f1 = /N:\Video\Movies\Black Lacie Drive\Hannibal Rising [2007] [Rated R] [Voted 7.4]\[SD] [242p] [DVDRip] [XviD] [MP3] [aXXo] Hannibal Rising ([2007]DvDrip[Eng]-aXXo).avi/ as File
  58. def f2 = /N:\Video\Movies\Freedomland [2006] [Rated ] [Voted 9.0]\[SD] [234p] [DVDRip] [XviD] [MP3] [aXXo] Freedomland ([2006]DvDrip[Eng]-aXXo).avi/ as File
  59. def f3 = /N:\Video\Underworld - Rise of the Lycans [2009] [Rated R] [Voted 7.2]\[SD] [272p] [DVDRip] [XviD] [MP3] [DUQA] Underworld- Rise of the Lycans ([2009].PREMIERE.DVDRIP.XVID.[Eng]-DUQA).avi/ as File
  60. def f4 = /A:\ABCD\EFGH\IKLMN\QRSTU\VWXYZ.avi/ as File
  61. def f5 = /Z:\ABCD\EFGH\IKLMN\QRSTU\VWXYZ\ABCD\EFGH\IKLMN\QRSTU\VWXYZ\ABCD\EFGH\IKLMN\QRSTU\VWXYZ\ABCD\EFGH\IKLMN\QRSTU\VWXYZ.avi/ as File
  62.  
  63. new SwingBuilder().edt {
  64.   frame(title:'Frame', pack:true, show: true) {
  65.       panel(background: Color.white) {
  66.         boxLayout(axis:BoxLayout.Y_AXIS)
  67.         label(text: getHTML(f1))
  68.         label(text: getHTML(f2))
  69.         label(text: getHTML(f3))        
  70.         label(text: getHTML(f4))
  71.         label(text: getHTML(f5))
  72.       }
  73.   }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement