Use ecgi module instead of cgi

Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: file:///srv/svn/repo/chen/trunk@41 32723744-9b23-0b4a-b1da-9b2e968f9461
This commit is contained in:
yakumo.izuru 2024-07-21 16:06:59 +00:00
parent 465ff0d59f
commit 962e87e34f
6 changed files with 3 additions and 127 deletions

View File

@ -1,51 +0,0 @@
package main
import (
"flag"
"log"
"gopkg.in/ini.v1"
"git.chaotic.ninja/yakumo_izuru/chen"
"github.com/jbuchbinder/go-xmppbot"
)
var config struct {
jid string
password string
prefix string
nick string
autojoin string
}
var confFile string
func init() {
flag.StringVar(&confFile, "f", "", "Configuration file")
}
func readConf(file string) error {
cfg, err := ini.Load(file)
if err != nil {
return err
}
config.jid = cfg.Section("chen").Key("jid").String()
config.password = cfg.Section("chen").Key("password").String()
config.prefix = cfg.Section("chen").Key("prefix").String()
config.nick = cfg.Section("chen").Key("nick").String()
config.autojoin = cfg.Section("chen").Key("autojoin").String()
return nil
}
func main() {
flag.Parse()
if confFile != "" {
log.Println("Loading configuration file for Chen")
readConf(confFile)
} else {
log.Fatal("No configuration file has been provided")
}
log.Printf("Chen v%s starting with config %s\n", chen.FullVersion(), confFile)
}

13
go.mod
View File

@ -1,13 +0,0 @@
module git.chaotic.ninja/yakumo_izuru/chen
go 1.20
require (
github.com/jbuchbinder/go-xmppbot v0.0.0-20201202211837-603b6f40c1d1
gopkg.in/ini.v1 v1.67.0
)
require (
github.com/mattn/go-xmpp v0.0.0-20190124093244-6093f50721ed // indirect
github.com/stretchr/testify v1.9.0 // indirect
)

11
go.sum
View File

@ -1,11 +0,0 @@
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/jbuchbinder/go-xmppbot v0.0.0-20201202211837-603b6f40c1d1 h1:D/19k3fV0YtcD2fot8lEqgPbY4xtRD+rck/IgWE23Z4=
github.com/jbuchbinder/go-xmppbot v0.0.0-20201202211837-603b6f40c1d1/go.mod h1:eWgqRsgB8cZqUd3VM03fsFR5Xmzqto5148/GO6WLPBk=
github.com/mattn/go-xmpp v0.0.0-20190124093244-6093f50721ed h1:A1hEQg5M0b3Wg06pm3q/B0wdZsPjVQ/a2IgauQ8wCZo=
github.com/mattn/go-xmpp v0.0.0-20190124093244-6093f50721ed/go.mod h1:Cs5mF0OsrRRmhkyOod//ldNPOwJsrBvJ+1WRspv0xoc=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

View File

@ -11,7 +11,7 @@ from collections import defaultdict
from slixmpp import ClientXMPP
from urllib.parse import urlparse, parse_qs, urlunparse
from pantomime import normalize_mimetype
import cgi
import ecgi
parser = "html.parser"
user_agent = "Mozilla/5.0 (X11; Linux x86_64; rv:10.0)"
@ -124,7 +124,7 @@ class ChenBot(ClientXMPP):
content_disposition = r.headers.get("content-disposition")
filename = None
if content_disposition:
_, params = cgi.parse_header(content_disposition)
_, params = ecgi.parse_header(content_disposition)
filename = params.get("filename")
else:
filename = os.path.basename(uri.path)

View File

@ -3,3 +3,4 @@ slixmpp
beautifulsoup4
pantomime
aiohttp
git+https://git.chaotic.ninja/yakumo.izuru/ecgi#egg=ecgi

View File

@ -1,50 +0,0 @@
package chen
import (
"fmt"
"runtime/debug"
"strings"
)
const (
defaultVersion = "0.0.0"
defaultCommit = "HEAD"
defaultBuild = "0000-01-01:00:00+00:00"
)
var (
// Version is the tagged release version in the form <major>.<minor>.<patch>
// following semantic versioning and is overwritten by the build system.
Version = defaultVersion
// Commit is the commit sha of the build (normally from Git) and is overwritten
// by the build system.
Commit = defaultCommit
// Build is the date and time of the build as an RFC3339 formatted string
// and is overwritten by the build system.
Build = defaultBuild
)
// FullVersion display the full version and build
func FullVersion() string {
var sb strings.Builder
isDefault := Version == defaultVersion && Commit == defaultCommit && Build == defaultBuild
if !isDefault {
sb.WriteString(fmt.Sprintf("%s@%s %s", Version, Commit, Build))
}
if info, ok := debug.ReadBuildInfo(); ok {
if isDefault {
sb.WriteString(fmt.Sprintf(" %s", info.Main.Version))
}
sb.WriteString(fmt.Sprintf(" %s", info.GoVersion))
if info.Main.Sum != "" {
sb.WriteString(fmt.Sprintf(" %s", info.Main.Sum))
}
}
return sb.String()
}