Put some stuff into a simple lib
This commit is contained in:
parent
d884808187
commit
a7d947ba4a
3 changed files with 32 additions and 59 deletions
|
@ -5,6 +5,7 @@ require 'cgi'
|
||||||
require 'date'
|
require 'date'
|
||||||
require 'erb'
|
require 'erb'
|
||||||
require 'net/http'
|
require 'net/http'
|
||||||
|
require 'neinomat.lib.rb'
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Constants
|
# Constants
|
||||||
|
@ -15,35 +16,6 @@ require "#{$0}.templates.rb"
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Some helper functions
|
# Some helper functions
|
||||||
|
|
||||||
def parse_template(title, template)
|
|
||||||
template_re = Regexp.new("\\\{\\\{" + template + "(.*?)\\\}\\\}")
|
|
||||||
|
|
||||||
fields = {}
|
|
||||||
|
|
||||||
fields_string = @wiki.article(title).text.scan(template_re)[0][0]
|
|
||||||
|
|
||||||
inlink = 0
|
|
||||||
field = ""
|
|
||||||
fields_string += "|" unless fields_string.match(/\|$/)
|
|
||||||
fields_string.split(//).each do |c|
|
|
||||||
if c == "|" && inlink == 0
|
|
||||||
(key, value) = field.split(/=/)
|
|
||||||
fields[key] = value
|
|
||||||
field = ""
|
|
||||||
else
|
|
||||||
inlink += 1 if c == "["
|
|
||||||
inlink -= 1 if c == "]"
|
|
||||||
field += c
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
fields
|
|
||||||
end
|
|
||||||
|
|
||||||
def datum2isodate(datum)
|
|
||||||
return datum[6..9] + "-" + datum[3..4] + "-" + datum[0..1]
|
|
||||||
end
|
|
||||||
|
|
||||||
def head(url)
|
def head(url)
|
||||||
uri = URI.parse(url)
|
uri = URI.parse(url)
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,14 @@
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
$:.unshift('vendor/ruby-mediawiki/lib')
|
$:.unshift('vendor/ruby-mediawiki/lib')
|
||||||
require 'mediawiki/dotfile'
|
require 'mediawiki/dotfile'
|
||||||
|
require 'date'
|
||||||
|
require 'neinomat.lib.rb'
|
||||||
|
|
||||||
@wiki = MediaWiki.dotfile(nil,'entropia')
|
@wiki = MediaWiki.dotfile(nil,'entropia')
|
||||||
|
|
||||||
require 'date'
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
def parse_template(title, template)
|
|
||||||
template_re = Regexp.new("\\\{\\\{" + template + "(.*?)\\\}\\\}")
|
|
||||||
|
|
||||||
fields = {}
|
|
||||||
|
|
||||||
fields_string = @wiki.article(title).text.scan(template_re)[0][0]
|
|
||||||
|
|
||||||
inlink = 0
|
|
||||||
field = ""
|
|
||||||
fields_string += "|" unless fields_string.match(/\|$/)
|
|
||||||
fields_string.split(//).each do |c|
|
|
||||||
if c == "|" && inlink == 0
|
|
||||||
(key, value) = field.split(/=/)
|
|
||||||
fields[key] = value
|
|
||||||
field = ""
|
|
||||||
else
|
|
||||||
inlink += 1 if c == "["
|
|
||||||
inlink -= 1 if c == "]"
|
|
||||||
field += c
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
fields
|
|
||||||
end
|
|
||||||
|
|
||||||
def datum2isodate(datum)
|
|
||||||
return datum[6..9] + "-" + datum[3..4] + "-" + datum[0..1]
|
|
||||||
end
|
|
||||||
|
|
||||||
def table_termine (t)
|
def table_termine (t)
|
||||||
body = '{| border=1 cellspacing="0" cellpadding="5" style="border-collapse:collapse;"'
|
body = '{| border=1 cellspacing="0" cellpadding="5" style="border-collapse:collapse;"'
|
||||||
body += "\n"
|
body += "\n"
|
||||||
|
|
28
neinomat.lib.rb
Normal file
28
neinomat.lib.rb
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
def parse_template(title, template)
|
||||||
|
template_re = Regexp.new("\\\{\\\{" + template + "(.*?)\\\}\\\}")
|
||||||
|
|
||||||
|
fields = {}
|
||||||
|
|
||||||
|
fields_string = @wiki.article(title).text.scan(template_re)[0][0]
|
||||||
|
|
||||||
|
inlink = 0
|
||||||
|
field = ""
|
||||||
|
fields_string += "|" unless fields_string.match(/\|$/)
|
||||||
|
fields_string.split(//).each do |c|
|
||||||
|
if c == "|" && inlink == 0
|
||||||
|
(key, value) = field.split(/=/)
|
||||||
|
fields[key] = value
|
||||||
|
field = ""
|
||||||
|
else
|
||||||
|
inlink += 1 if c == "["
|
||||||
|
inlink -= 1 if c == "]"
|
||||||
|
field += c
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
fields
|
||||||
|
end
|
||||||
|
|
||||||
|
def datum2isodate(datum)
|
||||||
|
return datum[6..9] + "-" + datum[3..4] + "-" + datum[0..1]
|
||||||
|
end
|
Reference in a new issue