main.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "strconv"
  6. )
  7. var version = "2.1.0"
  8. func help () {
  9. fmt.Println("使い方:");
  10. fmt.Println("urloli -v :バージョンを表示");
  11. fmt.Println("urloli -s [ポート番号] :ポート番号でウェブサーバーを実行(デフォルト=9910)");
  12. fmt.Println("urloli -h :ヘルプを表示");
  13. fmt.Println("urloli <URL> :コマンドラインでURLを短縮");
  14. }
  15. func main () {
  16. cnf, err := getconf()
  17. if err != nil {
  18. fmt.Println(err)
  19. return
  20. }
  21. args := os.Args
  22. if len(args) == 2 {
  23. if args[1] == "-v" {
  24. fmt.Println("urloli-" + version)
  25. return
  26. } else if args[1] == "-s" {
  27. serv(cnf, 9910)
  28. } else if args[1] == "-h" {
  29. help()
  30. return
  31. } else {
  32. if checkprefix(args[1]) {
  33. _, key := geturl(args[1], cnf.linkpath, true)
  34. if (key != "") {
  35. fmt.Println(cnf.domain + "/" + key)
  36. } else {
  37. fmt.Println(cnf.domain + "/" + insertjson(args[1], cnf.linkpath))
  38. }
  39. return
  40. } else {
  41. fmt.Println("URLは不正です。終了…")
  42. return
  43. }
  44. }
  45. } else if len(args) == 3 && args[1] == "-s" {
  46. if port, err := strconv.Atoi(args[2]); err != nil {
  47. fmt.Printf("%qは数字ではありません。\n", args[2])
  48. return
  49. } else {
  50. serv(cnf, port)
  51. }
  52. } else {
  53. help()
  54. return
  55. }
  56. }