potam 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0e5b8b6e8648eddbe1b0daefb26d744b0559176d
4
+ data.tar.gz: 653d9de5244d7a6981e4759d695a2a53bb893459
5
+ SHA512:
6
+ metadata.gz: 92d92fb32832ae3e152b5a91591599484d3be7d8e273ab5fe923ae7c4c3fcebd268b45b39c89276e4aaec4ac63ca023bc3bbca24cdcb0e17fc8938098b9a2f85
7
+ data.tar.gz: 382b9a0ea075c0e21ec1ca0b5cfcc8771aa437d69eb0ade3c727a291032d546a3bfc7b645aad0f2a4432b6612c3db9e41852623d9aa7f62f29071dc414bd05ae
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
3
+
4
+ gem 'sequel'
5
+ gem 'highline'
6
+ gem 'sqlite3'
7
+ gem 'unicode'
data/Gemfile.lock ADDED
@@ -0,0 +1,52 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ potam (0.0.1)
5
+ gli (= 2.12.2)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ aruba (0.6.1)
11
+ childprocess (>= 0.3.6)
12
+ cucumber (>= 1.1.1)
13
+ rspec-expectations (>= 2.7.0)
14
+ builder (3.2.2)
15
+ childprocess (0.5.5)
16
+ ffi (~> 1.0, >= 1.0.11)
17
+ cucumber (1.3.17)
18
+ builder (>= 2.1.2)
19
+ diff-lcs (>= 1.1.3)
20
+ gherkin (~> 2.12)
21
+ multi_json (>= 1.7.5, < 2.0)
22
+ multi_test (>= 0.1.1)
23
+ diff-lcs (1.2.5)
24
+ ffi (1.9.6)
25
+ gherkin (2.12.2)
26
+ multi_json (~> 1.3)
27
+ gli (2.12.2)
28
+ highline (1.6.21)
29
+ multi_json (1.10.1)
30
+ multi_test (0.1.1)
31
+ rake (10.1.0)
32
+ rdoc (4.1.0)
33
+ rspec-expectations (3.1.2)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.1.0)
36
+ rspec-support (3.1.2)
37
+ sequel (4.16.0)
38
+ sqlite3 (1.3.10)
39
+ unicode (0.4.4.2)
40
+
41
+ PLATFORMS
42
+ ruby
43
+
44
+ DEPENDENCIES
45
+ aruba
46
+ highline
47
+ potam!
48
+ rake
49
+ rdoc
50
+ sequel
51
+ sqlite3
52
+ unicode
data/README.rdoc ADDED
@@ -0,0 +1,6 @@
1
+ = potam
2
+
3
+ Describe your project here
4
+
5
+ :include:potam.rdoc
6
+
data/Rakefile ADDED
@@ -0,0 +1,44 @@
1
+ require 'rake/clean'
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
4
+ require 'rdoc/task'
5
+ require 'cucumber'
6
+ require 'cucumber/rake/task'
7
+ Rake::RDocTask.new do |rd|
8
+ rd.main = "README.rdoc"
9
+ rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
10
+ rd.title = 'Your application title'
11
+ end
12
+
13
+ spec = eval(File.read('potam.gemspec'))
14
+
15
+ Gem::PackageTask.new(spec) do |pkg|
16
+ end
17
+ CUKE_RESULTS = 'results.html'
18
+ CLEAN << CUKE_RESULTS
19
+ desc 'Run features'
20
+ Cucumber::Rake::Task.new(:features) do |t|
21
+ opts = "features --format html -o #{CUKE_RESULTS} --format progress -x"
22
+ opts += " --tags #{ENV['TAGS']}" if ENV['TAGS']
23
+ t.cucumber_opts = opts
24
+ t.fork = false
25
+ end
26
+
27
+ desc 'Run features tagged as work-in-progress (@wip)'
28
+ Cucumber::Rake::Task.new('features:wip') do |t|
29
+ tag_opts = ' --tags ~@pending'
30
+ tag_opts = ' --tags @wip'
31
+ t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty -x -s#{tag_opts}"
32
+ t.fork = false
33
+ end
34
+
35
+ task :cucumber => :features
36
+ task 'cucumber:wip' => 'features:wip'
37
+ task :wip => 'features:wip'
38
+ require 'rake/testtask'
39
+ Rake::TestTask.new do |t|
40
+ t.libs << "test"
41
+ t.test_files = FileList['test/*_test.rb']
42
+ end
43
+
44
+ task :default => [:test,:features]
data/bin/potam ADDED
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ require 'potam'
4
+
5
+ include GLI::App
6
+ include Dialog
7
+
8
+ program_desc 'Менеджер задач'
9
+
10
+ version Potam::VERSION
11
+
12
+ subcommand_option_handling :normal
13
+ arguments :strict
14
+
15
+ # ENV['GLI_DEBUG'] = 'true'
16
+
17
+ db = ENV['POTAM'] == 'test' ?
18
+ Sequel.sqlite("#{File.expand_path(File.dirname(__FILE__))}/../test/test.db") :
19
+ Sequel.sqlite("#{File.expand_path(File.dirname(__FILE__))}/../db/potam.db")
20
+ tasks = Tasks.new(db)
21
+ subtasks = Subtasks.new(db)
22
+ notes = Notes.new(db)
23
+ report = Report.new(db)
24
+
25
+ desc 'Указание номера задачи'
26
+ arg_name 'Номер задачи'
27
+ flag [:t,:task]
28
+
29
+ desc 'Пометить подзадачу как выполненную'
30
+ arg_name 'Номер подзадачи'
31
+ command :done do |c|
32
+ c.action do |global_options,options,args|
33
+ subtasks.finish!(args[0].to_i)
34
+ say("Подзадача 'Подзадача #{args[0]}' завершена")
35
+ end
36
+ end
37
+
38
+ desc 'Добавление задач, подзадач и заметок'
39
+ arg_name 'Тип добавляемого объекта'
40
+ command :add do |c|
41
+ c.desc 'Добавить заметку'
42
+ c.switch :n, :note, :negatable => false
43
+ c.action do |global_options,options,args|
44
+ if global_options[:task]
45
+ if options[:note]
46
+ Dialog.ask_new_note
47
+ notes.create(task_id: global_options[:task], text: Dialog::new_note_text)
48
+ say("Заметка к задаче ##{global_options[:task]} добавлена")
49
+ else
50
+ Dialog.ask_new_subtask
51
+ subtasks.create(task_id: global_options[:task], title: Dialog::new_subtask_title)
52
+ say("Подзадача ##{subtasks.new_subtask_id} к задаче ##{global_options[:task]} добавлена")
53
+ end
54
+ else
55
+ Dialog.ask_new_task
56
+ tasks.create(title: Dialog::new_task_title, description: Dialog::new_task_description)
57
+ say("Задача '#{Dialog::new_task_title}' (##{tasks.new_task_id}) добавлена")
58
+ end
59
+ end
60
+ end
61
+
62
+ desc 'Просмотр перечня задач, подзадач и заметок'
63
+ arg_name 'Режим вывода списка'
64
+ command :list do |c|
65
+ c.desc 'Полный список'
66
+ c.switch :a, :all, :negatable => false
67
+ c.action do |global_options,options,args|
68
+ list_method = options[:all] ? :list : :last
69
+ if global_options[:task]
70
+ Dialog.say_task(task: tasks.info(global_options[:task]),
71
+ subtasks: subtasks.active(global_options[:task]),
72
+ notes: notes.__send__(list_method, global_options[:task]))
73
+ else
74
+ Dialog.say_tasks(tasks.__send__(list_method))
75
+ end
76
+ end
77
+ end
78
+
79
+ desc 'Вывести отчет'
80
+ arg_name 'Период отчета'
81
+ command :report do |c|
82
+ c.desc 'Недельный отчет'
83
+ c.switch :w, :week, :negatable => false
84
+ c.action do |global_options,options,args|
85
+ Dialog.say_report(report.week)
86
+ end
87
+ end
88
+
89
+ exit run(ARGV)
data/db/old.db ADDED
Binary file
data/db/old2.db ADDED
Binary file
data/db/potam.db ADDED
Binary file
@@ -0,0 +1,26 @@
1
+ Feature: Adding note
2
+ As a time manager
3
+ In order to fix my activity
4
+ I want to add notes for specified task
5
+
6
+ Background:
7
+ Given following tasks exists:
8
+ | title | description | created_at |
9
+ | Тестовая задача 1 | Описание | 1415812561 |
10
+ | Тестовая задача 2 | Описание | 1415812566 |
11
+
12
+ Scenario: Successfully add notes
13
+ Given the date is "1415812566"
14
+ When I run command `-t 2 add -n`
15
+ And I type a note "Текст"
16
+ Then I should see "Заметка к задаче #2 добавлена"
17
+ When I run command `-t 2 list`
18
+ Then I should see
19
+ """
20
+ #2 "Тестовая задача 2"
21
+ 2014-11-12
22
+ Описание
23
+
24
+ 2014-11-12
25
+ Текст
26
+ """
@@ -0,0 +1,26 @@
1
+ Feature: Adding task
2
+ As a time-manager
3
+ In order to group my activity
4
+ I want to add a task
5
+
6
+ Background:
7
+ Given following tasks exists:
8
+ | title | description | created_at |
9
+ | Тестовая задача 1 | Описание | 1415812561 |
10
+ | Тестовая задача 2 | Описание | 1415812566 |
11
+
12
+ Scenario: Successfully add tasks
13
+ Given the date is "1415812566"
14
+ When I run command `add`
15
+ And I type a task title "Тестовая задача 3"
16
+ And I type a task description "Описание"
17
+ Then I should see "Задача 'Тестовая задача 3' (#3) добавлена"
18
+ When I run command `-t 3 list`
19
+ Then I should see
20
+ """
21
+ #3 "Тестовая задача 3"
22
+ 2014-11-12
23
+ Описание
24
+ """
25
+
26
+ # Scenario: Add multiline descriptions for tasks
@@ -0,0 +1,66 @@
1
+ # encoding: utf-8
2
+ Feature: Listing tasks
3
+ As a time-manager
4
+ In order to browse my tasks
5
+ I want to view list of my tasks
6
+
7
+ Background:
8
+ Given following tasks exists:
9
+ | title | description | created_at |
10
+ | Тестовая задача 1 | Описание | 1415812561 |
11
+ | Тестовая задача 2 | Описание | 1415812566 |
12
+ | Тестовая задача 3 | Описание | 1415812571 |
13
+ | Тестовая задача 4 | Описание | 1415812576 |
14
+ | Тестовая задача 5 | Описание | 1415812581 |
15
+ | Тестовая задача 6 | Описание | 1415812586 |
16
+ | Тестовая задача 7 | Описание | 1415812591 |
17
+ | Тестовая задача 8 | Описание | 1415812596 |
18
+ | Тестовая задача 9 | Описание | 1415812601 |
19
+ | Тестовая задача 10 | Описание | 1415812606 |
20
+ | Тестовая задача 11 | Описание | 1415812611 |
21
+ | Тестовая задача 12 | Описание | 1415812616 |
22
+ | Тестовая задача 13 | Описание | 1415812621 |
23
+ And following subtasks exists:
24
+ | title | task_id | status | created_at | finished_at |
25
+ | Подзадача 1 | 1 | 0 | 1415812626 | 0 |
26
+ | Подзадача 2 | 2 | 1 | 1415812566 | 1415812631 |
27
+ And following notes exists:
28
+ | task_id | text | created_at |
29
+ | 1 | Заметка 1 | 1415812566 |
30
+ | 1 | Заметка 2 | 1415812571 |
31
+ | 3 | Заметка 3 | 1415812961 |
32
+
33
+ Scenario: list 10 last tasks, where changes are made in subtasks or notes
34
+ When I run command `list`
35
+ Then I should see
36
+ """
37
+ #3 Тестовая задача 3 2014-11-12
38
+ #2 Тестовая задача 2 2014-11-12
39
+ #1 Тестовая задача 1 2014-11-12
40
+ #13 Тестовая задача 13 2014-11-12
41
+ #12 Тестовая задача 12 2014-11-12
42
+ #11 Тестовая задача 11 2014-11-12
43
+ #10 Тестовая задача 10 2014-11-12
44
+ #9 Тестовая задача 9 2014-11-12
45
+ #8 Тестовая задача 8 2014-11-12
46
+ #7 Тестовая задача 7 2014-11-12
47
+ """
48
+
49
+ Scenario: list all tasks, ordered by last time changes are made in subtasks or notes
50
+ When I run command `list -a`
51
+ Then I should see
52
+ """
53
+ #3 Тестовая задача 3 2014-11-12
54
+ #2 Тестовая задача 2 2014-11-12
55
+ #1 Тестовая задача 1 2014-11-12
56
+ #13 Тестовая задача 13 2014-11-12
57
+ #12 Тестовая задача 12 2014-11-12
58
+ #11 Тестовая задача 11 2014-11-12
59
+ #10 Тестовая задача 10 2014-11-12
60
+ #9 Тестовая задача 9 2014-11-12
61
+ #8 Тестовая задача 8 2014-11-12
62
+ #7 Тестовая задача 7 2014-11-12
63
+ #6 Тестовая задача 6 2014-11-12
64
+ #5 Тестовая задача 5 2014-11-12
65
+ #4 Тестовая задача 4 2014-11-12
66
+ """
@@ -0,0 +1,8 @@
1
+ #Feature: My bootstrapped app kinda works
2
+ # In order to get going on coding my awesome app
3
+ # I want to have aruba and cucumber setup
4
+ # So I don't have to do it myself
5
+
6
+ # Scenario: App just runs
7
+ # When I get help for "potam"
8
+ # Then the exit status should be 0
@@ -0,0 +1,58 @@
1
+ Feature: View report
2
+ As a time-manager
3
+ In order to browse my activity per period
4
+ I want to view reports
5
+
6
+ Background:
7
+ # Пт. нояб. 14 10:16:01
8
+ Given the date is "1415942161"
9
+ And following tasks exists:
10
+ # Ср. нояб. 5 10:16:01
11
+ # Ср. нояб. 5 13:13:01
12
+ # Ср. нояб. 12 22:16:06
13
+ | title | description | created_at |
14
+ | Тестовая задача 1 | Описание 1 | 1415164561 |
15
+ | Тестовая задача 2 | Описание 2 | 1415175181 |
16
+ | Тестовая задача 3 | Описание 3 | 1415812566 |
17
+ And following subtasks exists:
18
+ # Ср. нояб. 5 17:00:25
19
+ # Чт. нояб. 6 10:13:21, Пн. нояб. 10 09:10:21
20
+ # Чт. нояб. 13 11:00:01
21
+ | title | task_id | status | created_at | finished_at |
22
+ | Подзадача 1 | 1 | 0 | 1415188825 | 0 |
23
+ | Подзадача 2 | 2 | 1 | 1415250801 | 1415592621 |
24
+ | Подзадача 3 | 3 | 0 | 1415858401 | 0 |
25
+ And following notes exists:
26
+ # Пт. нояб. 7 10:10:23
27
+ # Вт. нояб. 11 14:50:32
28
+ # Чт. нояб. 13 11:00:00
29
+ | task_id | text | created_at |
30
+ | 1 | Заметка 1 | 1415337023 |
31
+ | 2 | Заметка 2 | 1415699432 |
32
+ | 3 | Заметка 3 | 1415858400 |
33
+
34
+ Scenario: view weekly report
35
+ When I run command `report -w`
36
+ Then I should see
37
+ """
38
+ Проведена работа по следующим задачам:
39
+ #3 Тестовая задача 3 2014-11-12
40
+ #2 Тестовая задача 2 2014-11-05
41
+ ===========================
42
+ Тестовая задача 3:
43
+ 2014-11-12 (Ср) 22:16:06
44
+ Создана задача "Тестовая задача 3"
45
+
46
+ 2014-11-13 (Чт) 11:00:00
47
+ Создана заметка "Заметка 3"
48
+
49
+ 2014-11-13 (Чт) 11:00:01
50
+ Создана подзадача "Подзадача 3"
51
+ ---------------------------
52
+ Тестовая задача 2:
53
+ 2014-11-10 (Пн) 09:10:21
54
+ Завершена подзадача "Подзадача 2"
55
+
56
+ 2014-11-11 (Вт) 14:50:32
57
+ Создана заметка "Заметка 2"
58
+ """
@@ -0,0 +1,43 @@
1
+ # encoding: utf-8
2
+ # When /^I get help for "([^"]*)"$/ do |app_name|
3
+ # @app_name = app_name
4
+ # step %(I run `#{app_name} help`)
5
+ # end
6
+
7
+ When(/^I run command `([^`]*)`$/) do |cmd|
8
+ cmd = 'potam ' + unescape(cmd)
9
+ run_interactive(cmd)
10
+ end
11
+
12
+ When(/^I type [^"]* "(.*?)"$/) do |input|
13
+ type(input)
14
+ end
15
+
16
+ Then(/^I should see "(.*?)"$/) do |output|
17
+ steps %Q(When I wait for output to contain "#{output}")
18
+ end
19
+
20
+ Then(/^I should see$/) do |output|
21
+ steps %Q(Then it should pass with:
22
+ """
23
+ #{output}
24
+ """
25
+ )
26
+ end
27
+
28
+ Given(/^following ([^ ]*) exists:$/) do |table, records|
29
+ db = Sequel.sqlite(TESTDB)
30
+ table = db[:"#{table}"]
31
+ records.hashes.each do |record|
32
+ table.insert(record)
33
+ end
34
+ end
35
+
36
+ Given /^the date is "(.*?)"$/ do |timestamp|
37
+ # Timecop.travel Time.new(timestamp)
38
+ ENV['POTAMTIME'] = timestamp
39
+ end
40
+
41
+ # Then(/^I should look something like this$/) do |expected|
42
+ # assert_matching_output(expected, all_output)
43
+ # end
@@ -0,0 +1,31 @@
1
+ Feature: Adding subtask
2
+ As a time-manager
3
+ In order to plan my activity
4
+ I want to manage subtasks
5
+
6
+ Background:
7
+ Given following tasks exists:
8
+ | title | description | created_at |
9
+ | Тестовая задача 1 | Описание | 1415812561 |
10
+ | Тестовая задача 2 | Описание | 1415812566 |
11
+
12
+ Scenario: Successfully add subtasks
13
+ Given the date is "1415812566"
14
+ When I run command `-t 2 add`
15
+ And I type a subtask title "Подзадача 1"
16
+ Then I should see "Подзадача #1 к задаче #2 добавлена"
17
+ When I run command `-t 2 list`
18
+ Then I should see
19
+ """
20
+ #2 "Тестовая задача 2"
21
+ 2014-11-12
22
+ Описание
23
+ Подзадачи:
24
+ 2014-11-12 Подзадача 1 (#1)
25
+ """
26
+
27
+ Scenario: Successfully mark subtask finished
28
+ When I run command `done 1`
29
+ Then I should see "Подзадача 'Подзадача 1' завершена"
30
+
31
+ # Scenario: Add multiline descriptions for tasks
@@ -0,0 +1,27 @@
1
+ require 'aruba/cucumber'
2
+ require 'sequel'
3
+ # require 'cucumber/timecop'
4
+
5
+ ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
6
+ LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
7
+ CLEANDB = "#{File.expand_path(File.dirname(__FILE__))}/../../test/clean.db"
8
+ TESTDB = "#{File.expand_path(File.dirname(__FILE__))}/../../test/test.db"
9
+
10
+ Before do |scenario|
11
+ # Using "announce" causes massive warnings on 1.9.2
12
+ @puts = true
13
+ @original_rubylib = ENV['RUBYLIB']
14
+ ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
15
+ ENV['POTAM'] = 'test'
16
+ FileUtils.cp(CLEANDB, TESTDB) #if !defined? scenario.scenario_outline
17
+ end
18
+
19
+ After do
20
+ ENV['RUBYLIB'] = @original_rubylib
21
+ # Timecop.return
22
+ end
23
+
24
+ at_exit do
25
+ ENV['POTAM'] = 'production'
26
+ FileUtils.cp(CLEANDB, TESTDB)
27
+ end
@@ -0,0 +1,128 @@
1
+ Feature: Show info about task
2
+ As a time-manager
3
+ In order to learn my activity with specific task
4
+ I want to view details about task and its notes
5
+
6
+ Background:
7
+ Given following tasks exists:
8
+ | title | description | created_at |
9
+ | Тестовая задача 1 | Описание 1 | 1415812561 |
10
+ | Тестовая задача 2 | Описание 2 | 1415812566 |
11
+ And following subtasks exists:
12
+ | title | task_id | status | created_at |
13
+ | Подзадача 1 | 1 | 0 | 1415812661 |
14
+ | Подзадача 2 | 2 | 1 | 1415812666 |
15
+ | Подзадача 3 | 1 | 0 | 1415812961 |
16
+ And following notes exists:
17
+ | task_id | text | created_at |
18
+ | 1 | Заметка 1 | 1415812661 |
19
+ | 2 | Заметка 2 | 1415812666 |
20
+ | 1 | Заметка 3 | 1415812961 |
21
+ | 1 | Заметка 4 | 1415812961 |
22
+ | 1 | Заметка 5 | 1415813161 |
23
+ | 1 | Заметка 6 | 1415813261 |
24
+ | 1 | Заметка 7 | 1415813361 |
25
+ | 1 | Заметка 8 | 1415813461 |
26
+ | 1 | Заметка 9 | 1415813561 |
27
+ | 1 | Заметка 10 | 1415813661 |
28
+ | 1 | Заметка 11 | 1415813761 |
29
+ | 1 | Заметка 12 | 1415813861 |
30
+ | 1 | Заметка 13 | 1415813961 |
31
+
32
+ Scenario: view task info with subtasks and notes
33
+ When I run command `-t 1 list`
34
+ Then I should see
35
+ """
36
+ #1 "Тестовая задача 1"
37
+ 2014-11-12
38
+ Описание 1
39
+ Подзадачи:
40
+ 2014-11-12 Подзадача 3 (#3)
41
+ 2014-11-12 Подзадача 1 (#1)
42
+
43
+ 2014-11-12
44
+ Заметка 13
45
+
46
+ 2014-11-12
47
+ Заметка 12
48
+
49
+ 2014-11-12
50
+ Заметка 11
51
+
52
+ 2014-11-12
53
+ Заметка 10
54
+
55
+ 2014-11-12
56
+ Заметка 9
57
+
58
+ 2014-11-12
59
+ Заметка 8
60
+
61
+ 2014-11-12
62
+ Заметка 7
63
+
64
+ 2014-11-12
65
+ Заметка 6
66
+
67
+ 2014-11-12
68
+ Заметка 5
69
+
70
+ 2014-11-12
71
+ Заметка 4
72
+ """
73
+ When I run command `-t 2 list`
74
+ Then I should see
75
+ """
76
+ #2 "Тестовая задача 2"
77
+ 2014-11-12
78
+ Описание 2
79
+
80
+ 2014-11-12
81
+ Заметка 2
82
+ """
83
+ When I run command `-t 1 list -a`
84
+ Then I should see
85
+ """
86
+ #1 "Тестовая задача 1"
87
+ 2014-11-12
88
+ Описание 1
89
+ Подзадачи:
90
+ 2014-11-12 Подзадача 3 (#3)
91
+ 2014-11-12 Подзадача 1 (#1)
92
+
93
+ 2014-11-12
94
+ Заметка 13
95
+
96
+ 2014-11-12
97
+ Заметка 12
98
+
99
+ 2014-11-12
100
+ Заметка 11
101
+
102
+ 2014-11-12
103
+ Заметка 10
104
+
105
+ 2014-11-12
106
+ Заметка 9
107
+
108
+ 2014-11-12
109
+ Заметка 8
110
+
111
+ 2014-11-12
112
+ Заметка 7
113
+
114
+ 2014-11-12
115
+ Заметка 6
116
+
117
+ 2014-11-12
118
+ Заметка 5
119
+
120
+ 2014-11-12
121
+ Заметка 4
122
+
123
+ 2014-11-12
124
+ Заметка 3
125
+
126
+ 2014-11-12
127
+ Заметка 1
128
+ """