Initial commit
This commit is contained in:
commit
a73e0e7a0b
|
@ -0,0 +1 @@
|
|||
3.2.2
|
|
@ -0,0 +1,29 @@
|
|||
PATH
|
||||
remote: .
|
||||
specs:
|
||||
birthdaze (0.0.1)
|
||||
carddav
|
||||
thor
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
carddav (0.1.0)
|
||||
curb
|
||||
nokogiri
|
||||
vcardigan
|
||||
curb (1.0.5)
|
||||
nokogiri (1.16.2-x86_64-linux)
|
||||
racc (~> 1.4)
|
||||
racc (1.7.3)
|
||||
thor (1.3.1)
|
||||
vcardigan (0.0.9)
|
||||
|
||||
PLATFORMS
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
birthdaze!
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.10
|
|
@ -0,0 +1,20 @@
|
|||
Copyright (c) 2023 David Heinemeier Hansson
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -0,0 +1,4 @@
|
|||
# Birthdaze
|
||||
|
||||
Birthdaze is a tool to generate a calendar of your contacts’ birthdays
|
||||
from a CardDAV server account.
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require 'birthdaze'
|
||||
|
||||
Birthdaze.start(ARGV)
|
|
@ -0,0 +1,14 @@
|
|||
Gem::Specification.new do |s|
|
||||
s.name = "birthdaze"
|
||||
s.version = "0.0.1"
|
||||
s.summary = "Generate a birthday calendar from CardDAV"
|
||||
s.authors = ["T S Vallender"]
|
||||
s.email = "t@tsvallender.co.uk"
|
||||
s.homepage = "https://git.tsvallender.co.uk/tsv/birthdaze"
|
||||
s.files = Dir["lib/**/*", "MIT-LICENSE", "README.md"]
|
||||
s.license = "MIT"
|
||||
s.executables << "birthdaze"
|
||||
s.add_dependency "thor"
|
||||
s.add_dependency "carddav"
|
||||
end
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
require "carddav"
|
||||
require "thor"
|
||||
require "yaml"
|
||||
|
||||
class Birthdaze < Thor
|
||||
desc "generate", "Generate calendars"
|
||||
def generate
|
||||
puts "Generate calendars"
|
||||
auth(config["url"], config["username"], config["password"])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def config
|
||||
config_file = "#{ENV["HOME"]}/.config/birthdaze.yaml"
|
||||
unless File.file?(config_file)
|
||||
puts "Please add a configuration file"
|
||||
return
|
||||
end
|
||||
@config ||= YAML.load_file(config_file)
|
||||
end
|
||||
|
||||
def auth(url, username, password)
|
||||
config
|
||||
client = Carddav::Client.new(url, username, password)
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue