Good evening my good friends of /prog/! Thanks to your encouragement, I made my first useful python program today. Basically it generates an HTML script that displays every image in a directory. I'll post it in hopes that you can use it !~{^-^}~♥
#index generator for directory of images for HTML
import os
import fnmatch
FNL = os.listdir(".")
f = open('index.html','w')
f.write("<html><head><title>Index of...</title></head><body>")
#make a list of workable files in this
for FileName in FNL:
if fnmatch.fnmatch(FileName, '*.jpg'):
f.write("<img src=\""+FileName+"\"></img><br>")
if fnmatch.fnmatch(FileName, '*.jpeg'):
f.write("<img src=\""+FileName+"\"></img><br>")
if fnmatch.fnmatch(FileName, '*.gif'):
f.write("<img src=\""+FileName+"\"></img><br>")
if fnmatch.fnmatch(FileName, '*.png'):
f.write("<img src=\""+FileName+"\"></img><br>")
if fnmatch.fnmatch(FileName, '*.bmp'):
f.write("<img src=\""+FileName+"\"></img><br>")
#close up by writing the ending tags
f.write("</body></html>")
You don't need the closing </img> tag. All browsers treat img as a closed tag. You can write <img .../> if it makes you feel better.
There's a lot of duplicate code there. That entire for loop can be written:
PATTERNS = ['*.jpg', '*.jpeg', '*.gif', '*.png', '*.bmp']
for FileName in FNL:
for FilePattern in PATTERNS:
if fnmatch.fnmatch(FileName, FilePattern):
f.write("<img src=\""+FileName+"\"></img><br>")
Then if you need to change the write statement, you only need to do it once, and adding new formats is as simple as:
How is that useful? Also, it's written in Python and even then is written like shit. You never even checked to see if the file opened successfully. I'll give your code a 1/10.
>>10
Yeah, the user may not have permission to create a file in the current directory.
Name:
Anonymous2013-01-22 3:03
>>11,12
That's what you chose to point out? This crap just assumes that the filesystem uses "." for the working directory.
Name:
Anonymous2013-01-22 3:05
Preferred method for opening file is with open('file.txt', 'r') as f, because it closes file automatically. f=open is gay bullshit
Name:
Anonymous2013-01-22 3:11
>>14
Not only is "w" needed here, but >>1 does not close this file. There is a reason for this. I'll let you figure it out though, as it is best to not spoonfeed those who have not achieved Satori yet.
Rewrite >>1's code using xml.dom.minidom for proper output generation.
Deadline is never, it's too hard for anyone here
Name:
Anonymous2013-01-22 11:34
XML is shit, HTML is shit and nobody should care about this.
New challenge: Write a browser that interprets S-expressions and Scheme instead of HTML and Javashit. You can redefine the standards if you want. Actually, do it, W3C is a bunch of kikes.