Initial import
This commit is contained in:
commit
df15fc4980
6 changed files with 84 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
bin
|
6
Makefile
Normal file
6
Makefile
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
all: build
|
||||
|
||||
build:
|
||||
shards build
|
||||
|
23
shard.yml
Normal file
23
shard.yml
Normal file
|
@ -0,0 +1,23 @@
|
|||
name: signalspam-pipe
|
||||
version: 0.1.0
|
||||
|
||||
targets:
|
||||
signalspam-pipe:
|
||||
main: src/main.cr
|
||||
|
||||
# authors:
|
||||
# - name <email@example.com>
|
||||
|
||||
# description: |
|
||||
# Short description of signalspam-pipe
|
||||
|
||||
# dependencies:
|
||||
# pg:
|
||||
# github: will/crystal-pg
|
||||
# version: "~> 0.5"
|
||||
|
||||
# development_dependencies:
|
||||
# webmock:
|
||||
# github: manastech/webmock.cr
|
||||
|
||||
# license: MIT
|
17
src/config.cr
Normal file
17
src/config.cr
Normal file
|
@ -0,0 +1,17 @@
|
|||
|
||||
class Config
|
||||
include YAML::Serializable
|
||||
|
||||
class Authentication
|
||||
include YAML::Serializable
|
||||
|
||||
@[YAML::Field(key: "username")]
|
||||
property username : String
|
||||
|
||||
@[YAML::Field(key: "password")]
|
||||
property password : String
|
||||
end
|
||||
|
||||
@[YAML::Field(key: "authentication")]
|
||||
property auth : Authentication
|
||||
end
|
32
src/main.cr
Normal file
32
src/main.cr
Normal file
|
@ -0,0 +1,32 @@
|
|||
require "yaml"
|
||||
require "http/client"
|
||||
require "./config.cr"
|
||||
require "./version.cr"
|
||||
|
||||
# Partie 1: Lecture du fichier de configuration YAML
|
||||
config_path = File.expand_path("~/.config/signalspam/config.yaml", home: ENV["HOME"])
|
||||
begin
|
||||
config = Config.from_yaml(File.read(config_path))
|
||||
rescue ex
|
||||
puts "Error reading or parsing config file: #{ex.message}"
|
||||
exit(1)
|
||||
end
|
||||
|
||||
# Partie 2: Lecture de l'email-spam depuis STDIN
|
||||
email_spam = STDIN.gets_to_end
|
||||
|
||||
# Partie 3: Authentification sur signal-spam.fr
|
||||
def authenticate(config : Config)
|
||||
# Logique d'authentification (à compléter)
|
||||
end
|
||||
|
||||
# Partie 4: Remplissage et envoi du formulaire
|
||||
def submit_spam_report(email_spam : String, config : Config)
|
||||
# Logique pour remplir et envoyer le formulaire (à compléter)
|
||||
end
|
||||
|
||||
# Exécution des fonctions
|
||||
authenticate(config)
|
||||
submit_spam_report(email_spam, config)
|
||||
|
||||
puts "#{SCRIPT_NAME} v#{SCRIPT_VERSION} executed successfully."
|
4
src/version.cr
Normal file
4
src/version.cr
Normal file
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Nom du script et version
|
||||
SCRIPT_NAME = "SignalSpamReporter"
|
||||
SCRIPT_VERSION = "1.2"
|
Loading…
Reference in a new issue