Traceback (most recent call last):
File "F:\Gacor\getgarf.py", line 244, in ?
getImg(Data.todayStrip)
File "F:\Gacor\getgarf.py", line 127, in getImg
Data.f.geturl()
AttributeError: 'str' object has no attribute 'geturl'
My code is attached (sorry, but it's got lot's of text)
#! /usr/bin/env python ############################################## # Created by Joseph Quigley # # This program is under the GNU GPL Licence # # Either version 2 or any higher version. # # Garfield and the Garfield trade mark are # # Copyrighted by Paws Inc. # ##############################################
# Import modules import time import urllib2 import os import sys from Tkinter import * import Image import ImageTk import getpass class Data: # Define time and date todays_date = time.localtime(time.time()) todayDay = time.strftime("%d", todays_date) todayMonth = time.strftime("%m", todays_date) todayYear = time.strftime("%y", todays_date) todayYearFull = time.strftime("%Y", todays_date) getDate = '' month = '' day = '' yearFull = '' year = '' # More file location junk stripName ="http://images.ucomics.com/comics/ga/%s/" % (yearFull) todayStrip = "ga%s%s%s.gif" % (todayYear, todayMonth, todayDay) otherStrip = "" download = "" f = "" VERSION = '0.9.3' try: if sys.argv[1] == "--version": print """\nGacor %s A Garfield Comic Downloader and reader. Copyright (C) 2005 Joseph Quigley This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n""" % Data.VERSION raise SystemExit except IndexError: print "\n" * 100 user = getpass.getuser() name = 'gacor' if os.name == 'posix': imgDir = '/home/%s/.gacor/' % user elif os.name == 'nt': if os.path.exists('C:\Documents and Settings'): imgDir = "C:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('D:\Documents and Settings'): imgDir = "D:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('E:\Documents and Settings'): imgDir = "E:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('F:\Documents and Settings'): imgDir = "F:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('G:\Documents and Settings'): imgDir = "G:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('H:\Documents and Settings'): imgDir = "H:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('I:\Documents and Settings'): imgDir = "I:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('J:\Documents and Settings'): imgDir = "J:\\Documents and Settings\\%s\\.gacor\\" % user if os.path.exists('K:\Documents and Settings'): imgDir = "K:\\Documents and Settings\\%s\\.gacor\\" % user else: setImgDir = raw_input("Please specify your Documents and Settings Drive\n(eg: C:\\ not C)\n> ") imgDir = "%sDocuments and Settings\\%s\\.gacor\\" % user if not os.path.exists(imgDir): os.mkdir(imgDir) # Errors def Connect(): urllib2_URLError = """Temporary failure in name resolution. This means that you may not be online or the site is down. You may want to try again later.""" print "Connecting to server..." try: Data.f = urllib2.urlopen("%s%s" % (Data.stripName, Data.todayStrip)) except urllib2.URLError: print urllib2_URLError print "Connected." def Dsp_Image(pic): root = Tk() root.title("GaCoR (Garfield Comic Reader)") app = Frame(root) app.grid() img = Image.open(pic) imgPrep = ImageTk.PhotoImage(img) imgShow = Label(app, image=imgPrep).grid() info = Label(app, text="Displaying a Garfield for %s\%s\%s." % (Data.month, Data.day, Data.year)).grid() app.mainloop() def getImg(pic): print "Dowloading Image" print Data.f Data.f.geturl() pict_Data = Data.f.read() pict = file("%s%s" % (imgDir, pic), 'w') pict.write(pict_Data) pict.close() print "Finished Download" def ShowImg(pic): Dsp_Image("%s%s" % (imgDir, pic)) def comicDate(): while True: print "\nEnter comic date in mmddyyyy format (eg: 09122002 " Data.getDate = list(raw_input("> ")) if len(Data.getDate) > 8: print "Too many numbers! But I'll let this go." try: Data.month = Data.getDate[0] + Data.getDate[1] except IndexError: print "You didn't fill in all 2 digits in for the month!\n" continue try: Data.day = Data.getDate[2] + Data.getDate[3] except IndexError: print "You didn't fill in all 2 digits in for the day!\n" continue try: Data.yearFull = Data.getDate[4] + Data.getDate[5] + Data.getDate[6] + Data.getDate[7] except IndexError: print "You didn't fill in all 4 digits in for the year!\n" continue Data.year = Data.getDate[6] + Data.getDate[7] break def help(): print """-- Help -- Commands: gettoday -- get today's strip getother -- get some other date's strip license -- view the GNU General Public License (GPL) quit -- Quit Program If you find any bugs (most likely crashes) please report them to: [EMAIL PROTECTED] Current version of software: %s Gacor %s A Garfield Comic Downloader and reader. Copyright (C) 2005 Joseph Quigley This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Garfield (tm) and the Garfield (tm) trade mark are Copyrighted by Paws Inc.""" % (Data.VERSION, Data.VERSION) def license(): print "\n" * 10 while True: try: f = file("%slicense.txt" % imgDir, 'r') except IOError: print "The license file can not be found. You may download it from:\n\ \thttp://www.gnu.org/licenses/gpl.txt" print "Press enter to view more or the Ctrl C keys to go back to the main menu." text = f.readlines() length = len(text) line = 0 while True: if line == length: break else: print text[line], try: raw_input(), except KeyboardInterrupt: break line = line + 1 break while True: try: m_m = raw_input("\n\nType 'h' for help\nMain Menu> ") except KeyboardInterrupt: raise SystemExit except TypeError: raise SystemExit if m_m == 'h': help() elif m_m == 'license': license() elif m_m == 'quit': raise SystemExit elif m_m == 'gettoday': Data.yearFull = Data.todayYearFull Data.year = Data.todayYear Data.month = Data.todayMonth Data.day = Data.todayDay try: f = file("%s%s" % (imgDir, Data.todayStrip), 'r') except IOError: Connect() print Data.f getImg(Data.todayStrip) ShowImg(Data.todayStrip) f.close() elif m_m == "getother": comicDate() Data.otherStrip = "ga%s%s%s.gif" % (Data.year, Data.month, Data.day) try: Data.f = file("%s%s" % (imgDir, Data.otherStrip), 'r') except IOError: Connect() getImg(Data.otherStrip) ShowImg(Data.otherStrip) Data.f.close()
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor