Use argparse instead of parseopt
This commit is contained in:
parent
27f631cc2b
commit
536bfabe32
2 changed files with 10 additions and 20 deletions
|
|
@ -13,3 +13,4 @@ bin = @["etherpad2latex"]
|
||||||
|
|
||||||
requires "nim >= 0.20.0"
|
requires "nim >= 0.20.0"
|
||||||
requires "jester >= 0.4.1"
|
requires "jester >= 0.4.1"
|
||||||
|
requires "argparse >= 0.7.1"
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import asynchttpserver, asyncdispatch, httpclient
|
||||||
import os, osproc, strutils, parseopt
|
import os, osproc, strutils, parseopt
|
||||||
|
|
||||||
import jester
|
import jester
|
||||||
|
import argparse
|
||||||
|
|
||||||
proc getContent(pad:string, etherpadUrl:string):string =
|
proc getContent(pad:string, etherpadUrl:string):string =
|
||||||
var client = newHTTPClient()
|
var client = newHTTPClient()
|
||||||
|
|
@ -9,16 +10,18 @@ proc getContent(pad:string, etherpadUrl:string):string =
|
||||||
|
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
var
|
var p = newParser("etherpad2latex"):
|
||||||
p = initOptParser()
|
help("Compiles etherpad pads to pdf")
|
||||||
port = 8080
|
option("-p", "--port", help="Port for the server", default="8080")
|
||||||
etherpadUrl = "http://localhost:9001/"
|
option("-a", "--etherpad-address", help="The address of the etherpad", default="http://localhost:9001")
|
||||||
|
|
||||||
|
let opts = p.parse()
|
||||||
|
|
||||||
router main:
|
router main:
|
||||||
get "/@pad":
|
get "/@pad":
|
||||||
let
|
let
|
||||||
pad = @"pad"
|
pad = @"pad"
|
||||||
content = getContent(pad, etherpadUrl)
|
content = getContent(pad, opts.etherpadaddress)
|
||||||
texFile = open(pad & ".tex", fmWrite)
|
texFile = open(pad & ".tex", fmWrite)
|
||||||
|
|
||||||
texFile.write(content)
|
texFile.write(content)
|
||||||
|
|
@ -30,20 +33,6 @@ when isMainModule:
|
||||||
else:
|
else:
|
||||||
resp output
|
resp output
|
||||||
|
|
||||||
# Parse command-line args
|
let s = newSettings(port=Port(opts.port.parseInt))
|
||||||
while true:
|
|
||||||
p.next()
|
|
||||||
case p.kind
|
|
||||||
of cmdEnd: break
|
|
||||||
of cmdShortOption, cmdLongOption:
|
|
||||||
case p.key
|
|
||||||
of "p", "port":
|
|
||||||
port = p.val.parseInt
|
|
||||||
of "a", "etherpad-address":
|
|
||||||
etherpadUrl = p.val
|
|
||||||
else: discard
|
|
||||||
of cmdArgument: continue
|
|
||||||
|
|
||||||
let s = newSettings(port=Port(port))
|
|
||||||
var j = initJester(main, settings=s)
|
var j = initJester(main, settings=s)
|
||||||
j.serve()
|
j.serve()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue