weekly_planner 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6590b9b41dc3cc8c75383f3be1e0d945ed89b1d1
4
- data.tar.gz: fedd78c96e4db9540ec70e6404488056e24e2c1c
3
+ metadata.gz: dcc9be272018ca4c1ed5f7acf006c877c1dbf9c4
4
+ data.tar.gz: e5805310a96ba8611a520bed7ca8cf20014b13ac
5
5
  SHA512:
6
- metadata.gz: 15414ed5db5b39fb7faac76e67213cf7249122f33dd732a901b075659f491f73651908cac01068a313dfc814967765d9ce8d7b7252653fb60dd69a39f7ad4721
7
- data.tar.gz: ada7c4b55a5ac4067182d7745bf4b542131c1ce88b3920602026015ce07940b2ceae65a9b6fb085027b399b00eab581e45f1b787a85e25114cb7b6552b3586ba
6
+ metadata.gz: abafb6f96d7d4f0f927cb82a9f1324e925fbc61b9e41da49083e3b578b31acee67a5c7a464544d4378f51bf06e703b5455b88c3f66ffbca81393b04fa6abaf02
7
+ data.tar.gz: b1590914a4e1d687bddfeb94d8e1f5abfc7ef0162dab1745de1d9b91765dcfb37eefa316b5ff1372b0282a0a22b23d9a0a94fc44d4ffa56234572310d7529fa0
checksums.yaml.gz.sig CHANGED
Binary file
@@ -4,6 +4,7 @@
4
4
 
5
5
  require 'date'
6
6
  require 'dynarex'
7
+ require 'fileutils'
7
8
 
8
9
 
9
10
  class WeeklyPlanner
@@ -25,8 +26,50 @@ class WeeklyPlanner
25
26
  end
26
27
 
27
28
  def save(filename=@filename)
29
+
28
30
  s = File.basename(filename) + "\n" + @s.lines[1..-1].join
29
31
  File.write File.join(@path, filename), s
32
+
33
+ # archive the weekly planner
34
+ # e.g. weeklyplanner/2015/wp50.xml
35
+ d = Date.strptime(@dx.all.first.id, "%Y%m%d")
36
+ archive_path = File.join(@path, d.year.to_s)
37
+ FileUtils.mkdir_p archive_path
38
+
39
+ a = @dx.all.partition {|x| Date.strptime(x.id, "%Y%m%d").cweek == d.cweek }
40
+
41
+ a.each do |rows|
42
+
43
+ filename = "wp%s.xml" % Date.strptime(rows.first.id, "%Y%m%d").cweek
44
+ filepath = File.join(archive_path, filename)
45
+
46
+ if File.exists? filepath then
47
+
48
+ dx = Dynarex.new filepath
49
+
50
+ rows.each do |row|
51
+
52
+ record = dx.find_by_id row.id
53
+
54
+ if record then
55
+ record.x = row.x unless record.x == row.x
56
+ else
57
+ dx.create row
58
+ end
59
+ end
60
+
61
+ dx.save filepath
62
+
63
+ else
64
+
65
+ dx = Dynarex.new 'sections[title]/section(x)'
66
+ rows.each {|row| dx.create row }
67
+ dx.save filepath
68
+
69
+ end
70
+
71
+ end
72
+
30
73
  end
31
74
 
32
75
  def to_s()
@@ -71,7 +114,7 @@ class WeeklyPlanner
71
114
  heading = "# %s\n" % (d + i).strftime("%d-%b-%Y")
72
115
 
73
116
  a.shift # removes the dashed line
74
- content = a.join
117
+ content = a.join.rstrip
75
118
  dx.create({x: heading + content}, id: (d + i).strftime("%Y%m%d"))
76
119
 
77
120
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weekly_planner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  z7gNRJqGU+m6WOC+EaEcNkm4WwRqy2Il3J8DydaFl+h20aqjFe1k7KgLU8qy8jyU
32
32
  FlTqE0DQzwY5Dg==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-12-07 00:00:00.000000000 Z
34
+ date: 2015-12-08 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dynarex
@@ -42,7 +42,7 @@ dependencies:
42
42
  version: '1.5'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 1.5.43
45
+ version: 1.5.44
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,7 +52,7 @@ dependencies:
52
52
  version: '1.5'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.5.43
55
+ version: 1.5.44
56
56
  description:
57
57
  email: james@r0bertson.co.uk
58
58
  executables: []
metadata.gz.sig CHANGED
Binary file