implement file inclusion

This commit is contained in:
Ward Wouts 2005-01-28 20:06:45 +00:00
parent 53e51c9b54
commit 70c130d89a
4 changed files with 22 additions and 7 deletions

View file

@ -1,11 +1,12 @@
# $Dwarf: CHANGELOG,v 1.32 2004/10/14 21:51:26 ward Exp $ # $Dwarf: CHANGELOG,v 1.33 2004/10/18 08:14:36 ward Exp $
# $Source$ # $Source$
from 0.2.3 to .... from 0.2.3 to ....
- changes to make it work with ruby 1.8.1 - changes to make it work with ruby 1.8.1
- internal structures changed in article.rb - internal structures changed in article.rb
- huge of memory usage improvements... e0 - 90% less memory usage - huge of memory usage improvements... - 90% less memory usage
- (more) gracefully handle bad yencodings - (more) gracefully handle bad yencodings
- enable file inclusion
from 0.2.2 to 0.2.3 from 0.2.2 to 0.2.3
- notify when cachedir doesn't exist - notify when cachedir doesn't exist

View file

@ -1,4 +1,4 @@
# $Dwarf: README,v 1.11 2003/06/25 07:30:58 ward Exp $ # $Dwarf: README,v 1.12 2003/06/28 19:26:25 ward Exp $
# $Source$ # $Source$
Ripnews is a bulk downloader for usenet. It's quite flexible in terms of Ripnews is a bulk downloader for usenet. It's quite flexible in terms of
@ -127,6 +127,7 @@ OPT_S=<pattern> Set EXTENSIONS just for single part messages.
DELEXT=<pattern> Set extension "mark read" pattern. DELEXT=<pattern> Set extension "mark read" pattern.
OPT_MD=<pattern> Set DELEXT just for multi part messages. OPT_MD=<pattern> Set DELEXT just for multi part messages.
OPT_SD=<pattern> Set DELEXT just for single part messages. OPT_SD=<pattern> Set DELEXT just for single part messages.
INCLUDEFILE=<file> Include another file, only works in main config.
Ruby patterns: Ruby patterns:
-------------- --------------

View file

@ -1,4 +1,4 @@
# $Dwarf: TODO,v 1.25 2004/10/14 21:51:14 ward Exp $ # $Dwarf: TODO,v 1.26 2005/01/04 12:19:37 ward Exp $
# $Source$ # $Source$
[ ] check for multiple servers (ip adresses) for each name and pick [ ] check for multiple servers (ip adresses) for each name and pick
@ -18,7 +18,6 @@
[ ] more regression tests [ ] more regression tests
[ ] update documentation [ ] update documentation
[ ] start useing file locking (needed for safe threading) [ ] start useing file locking (needed for safe threading)
[ ] implement include statement in config file
[ ] implement "skip current article" signal handle [ ] implement "skip current article" signal handle
[ ] add user/pass authentication [ ] add user/pass authentication
[ ] optionaly save parts of incomplete posts [ ] optionaly save parts of incomplete posts

View file

@ -1,6 +1,6 @@
#!/usr/local/bin/ruby -w #!/usr/local/bin/ruby -w
# $Dwarf: ripnews.rb,v 1.84 2004/09/01 11:24:15 ward Exp $ # $Dwarf: ripnews.rb,v 1.85 2004/10/14 11:47:37 ward Exp $
# $Source$ # $Source$
# #
@ -192,6 +192,13 @@ def parse_config(default = {})
grouparr = [] grouparr = []
config = {} config = {}
lines.collect!{|x|
if x =~ /^\s*INCLUDEFILE=(.*?)\s*$/i
x = File.new($1).readlines
end
x
}
lines.collect!{|x| lines.collect!{|x|
x.sub!(/^\s*/, "") x.sub!(/^\s*/, "")
x.sub!(/\#.*$/, "") x.sub!(/\#.*$/, "")
@ -380,7 +387,14 @@ def get_multi(subj, group)
print "filename #{filename}\n" print "filename #{filename}\n"
return false unless check_ext(group, filename, "m", subj) return false unless check_ext(group, filename, "m", subj)
print " YDecoding...\n" print " YDecoding...\n"
mode, filename, body = YEnc.ydecode(body) begin
mode, filename, body = YEnc.ydecode(body)
rescue YencError
# XXX if there is a yenc problem I want the data so I can research it
output_data(subj, 0600, "YencProblem", body)
# XXX return succes even though it's not true
return true
end
else else
print " Unknown encoding (not UU, not yEnc), skipping...\n" print " Unknown encoding (not UU, not yEnc), skipping...\n"
return false return false