Recent Forum Posts
From categories:
page »

Thanks, and good luck.

Re: I wrote a program... by vladivladi, 28 Oct 2015 13:49

Updated to reflect your wishes. Thanks for the advice.

Re: I wrote a program... by nstephenhnstephenh, 27 Oct 2015 22:35

Hi Noah,

Congrats on your project, I know first-hand how fun it is to write comic scrapers. Working on Woofy has been a learning experience for me too, so I can totally relate with wanting to become a better programmer. However, it might not be the best inspiration for you - I think a better one would be Dosage as it's also a console app written in Python with a rather interesting feature set.

Regarding feedback, it really depends what you want to achieve with Pywoofy - if you want a lot of users, then documentation and a GUI always help but they're not fun to write and maintain :). Also, if I were to start over, I'd avoid using regular expressions in the definitions and use CSS or XPath selectors instead - they feel easier to read and write. I also have one request regarding the name - since Pywoofy is not related in any way to Woofy, could you please change its name? Otherwise people might get confused regarding the origins of the project.


Re: I wrote a program... by vladivladi, 27 Oct 2015 17:10

Hello everyone, particularly vladi:

Before I continue, I'd like to state that the program I wrote is not intended to replace woofy. I wrote it to become a better programmer, as well as be able to download webcomics on *nix machines. It has nowhere as many features as woofy, and it doesn't even have a GUI. That being said…

Introducing Pywoofy!!!

Pywoofy is a program similar to woofy, except written in python with the intention of running on many systems. It is currently in a state where it correctly grabs all pages of 7/8 comics I have tried it with, the one exception being

Definition files are simple, yet have a few options for post-processing filenames. I feel they are a little bit clearer than woofy's defintion files, although they might not be as powerful.

What I am posting here for is feedback. This is the largest webcomic downloading community that I know of. Users, could you please try my program and let me know what you think of it? Developers, particularly Vladi, will you look at my code and offer advice?

Thank you,

Noah H, aka NStephenH, Developer of Pywoofy and a fan of Woofy.

I wrote a program... by nstephenhnstephenh, 26 Oct 2015 17:31

The old definitions for El Goonish Shive are from 2011 and no longer work.
If nayone can look at it for 5 minutes and explain how to fix it, that would rock.

Definition Requests. by NicksterraNicksterra, 20 Oct 2015 23:43

Thanks - very useful advice even if it won't work for this particular webcomic.

One more thing - you can use Roy Osherove's Regulator for quickly testing regular expressions - . Just remember to set the Ignore case and Multiline options to ON. And the Ignore whitespace to OFF.

You also need to mention that there's space between the a and img elements - see the "\s*" bit below. Other than that, good job :)

comic "Sinfest"
start_at ""
for page in visit("""<a href="(?<content>[^"]*?)">\s*<img src="../images/next.gif">"""):
    download("""<img src="(?<content>[^"]*?)" alt="[^"]*?">""")

In any case, this won't work further than the second page because the web server will reject the second request - I'm assuming they're checking for bots or something along those lines. A pity really - I used to read a lot of Sinfest some years ago.

I found instructions on creating definitions files here:
and here:

I suspect that those instructions are out-of-date, as they talk about Woofy working backwards from the current strip to the last, and it seems to work the other way around when I try.

I tried writing a definitions file myself (for Sinfest), based on some of the more recently updated definitions (specifically grrlpower and evilinc), but I couldn't get it to work. Here's what I got:

comic "Sinfest"
start_at ""

for page in visit("""<a href="(?<content>[^"]*?)"><img src="../images/next.gif">"""):
    download("""<img src="(?<content>[^"]*?)" alt="[^"]*?">""")

Any advice in getting this to work is appreciated, and if anyone has some advice about getting a bit more to grips with the regex stuff, that would be good too.


It works fine for me (i.e. it has no trouble downloading from ).

Re: Comic seems to end early by vladivladi, 27 Apr 2015 19:42

Don't worry, I appreciate your reports - making Woofy better is also my goal :). I'll take a look at the Dumbing of Age.

Re: Comic seems to end early by vladivladi, 27 Apr 2015 18:57

Agreed, his problems are most likely related to the generation of the definitions.dll file, but I'll put this on my todo list :)

Re: Possible Woofy Crash Issue? by vladivladi, 27 Apr 2015 18:53

Hi, sorry for not answering sooner but last week was unusually busy for me.

That being said, editing a definition file should totally work so I'm guessing it's an issue with Wine - before loading a definition, Woofy actually compiles it to executable code (the definitions.dll file you had issues with) and loads that dll. Probably Wine doesn't like that and blocks the .dll file from being regenerated when you change a definition, hence the crashes. But that's just my guess.

I keep on wanting to port Woofy to Mono (which would probably solve your issues), but it seems like a significant effort (tried it once and got stuck midway :) ) so I keep postponing it. I'll keep you posted if I find anything that would make porting easier.

Sorry about the OOTS one. I was doing this on very little sleep, and I didn't notice the comment feature. It was a little bit rude of me. I made this list to give people a definite idea as to which ones were and weren't working. I'll try to get OOTS working, and split up Legend of Bill. You might want to divide the definition up on the page a bit more though.
The following lines were written during my testing:
OOTS definitly works. I just double-checked my file, and found it empty. With actual content, it definitly works. Sorry.
As does Legend of Bill when divided up into 4 files.
Your Table titans fix works as well.

A big bug that I have found is that editing a definition file prevents woofy from opening up again. Have you experienced this issue?

I don't think this has caused my problems, but I've definitly noticed it happen.


One thing I've noticed over the past month, which may (or may not) be related to some of the crashes that nstephenh's been seeing, is that Woofy sometimes seems to "get ahead of itself" when downloading a large comic archive. If it's been running for a while, I'll sometimes notice that instead of noting a download, then pausing, then noting a download, then pausing, etc., the text in the log file will be scrolling nonstop, as the log file content has fallen behind what's actually being downloaded. When this happens, it's often impossible to pause the download, as Woofy no longer recognizes mouse clicks. And once that's happened, it's usually only a matter of time before the program crashes, with the comics.json file showing a "currentpage" for the comic that's well behind the URL of the last image that was actually downloaded.

I hadn't bothered to mention it before, as it's probably not something that can be easily fixed, but it occurred to me that this or a similar problem might be responsible for some of the cases where nstephenh is assuming that errors in definition files are causing crashes.

— Darryl

I'm also curious why you edited my Order of the Stick definition file to add a comment claiming that it can cause Woofy to crash. Again, all the definition files I've uploaded work fine for me, so it might be helpful to provide more specifics regarding the problems you're having.

— Darryl

Most of the definitions you noted as not working were posted a year or more ago, and probably fell prey to changes in the Web sites' coding. Unfortunately, there really isn't anyone responsible for "monitoring" the definitions, as they're provided by users like us and not by Woofy's creator, so if you use old ones, it's kind of with an understanding that you may have to edit them.

Most of the definition files uploaded in the past month or so were uploaded by me, and they're all working perfectly for me. So if you're having problems with them, please provide specifics, so we can try to track down what's going wrong for you.

Just as a final note, the Legend of Bill definition is, as noted in the comment, actually four separate definitions. If you tried to use it directly as just a single definition file, well, that's probably why it crashed Woofy. :)

— Darryl


download("""<img src="(?<content>[^"]*?)" alt="[^"]*?" title="[^"]*?" />""")


download("""<img src="(?<content>[^"]*?)" alt="[^"]*?" title="[^"]*?">""")

The IMG tags you're looking for close with ">" instead of with " />" and so the definition you wrote doesn't match correctly.

— Darryl

page »
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License