-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapplication.rb
111 lines (82 loc) · 2.59 KB
/
application.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
require 'sinatra'
require 'slim'
require 'yaml'
require 'securerandom'
require_relative "lib/options.rb"
require_relative "lib/characters_generator.rb"
require_relative "lib/screenplay_generator.rb"
require_relative "lib/activities.rb"
require_relative "lib/dresses.rb"
require_relative "lib/things.rb"
require_relative "lib/emotions.rb"
require_relative "lib/camera_plans.rb"
require_relative "lib/camera_movements.rb"
require_relative "lib/camera_directions.rb"
require_relative "lib/speechs.rb"
require_relative "lib/spaces.rb"
require_relative "lib/diegetic_sounds.rb"
require_relative "lib/non_diegetic_sounds.rb"
require_relative "lib/lightings.rb"
require_relative "lib/genres.rb"
require_relative "lib/predefined_characters.rb"
#
#
# Генератор героев
#
get '/characters' do
slim :characters_form
end
post '/characters' do
Options.create_from_params! params
@characters = generate_characters params
slim :characters
end
#
#
# Генератор сценария
#
#
get '/screenplay' do
slim :screenplay_form
end
post '/screenplay' do
@screenplay = generate_screenplay params
slim :screenplay
end
def generate_characters params
# CharacterBuilder::Options.create!
Dresses.dresses_file = "data/dresses.txt"
DressesCategorizedBuilder.dresses_file = "data/dresses_categorized.yml"
builder = CharacterBuilder.new(DataSource.new("data/characters.yml"))
characters = []
params[:characters_count].to_i.times do |i|
characters << builder.build
end
return characters
end
def generate_screenplay params
#
# creaete options
#
Options.create_from_params! params
Activities.directory = "data/activities"
Dresses.dresses_file = "data/dresses.txt"
DressesCategorizedBuilder.dresses_file = "data/dresses_categorized.yml"
Things.things_file = "data/things.txt"
Emotions.data_file = "data/emotions.txt"
CameraMovements.data_file = "data/camera_movements.txt"
CameraPlans.data_file = "data/camera_plans.txt"
CameraDirections.data_file = "data/camera_directions.txt"
Speechs.data_file = "data/speechs.txt"
Spaces.data_file = "data/spaces.txt"
DiegeticSounds.data_file = "data/diegetic_sounds.txt"
NonDiegeticSounds.data_file = "data/non_diegetic_sounds.txt"
Lightings.data_file = "data/lightings.txt"
Genres.data_file = "data/genres.txt"
PredefinedCharacters.characters_file = "data/predefined_characters.yml"
# pp Spaces.data
# Activities.activities.get
characters_builder = CharacterBuilder.new(DataSource.new("data/characters.yml"))
screenplay_builder = ScreenplayBuilder.new characters_builder
return screenplay_builder.build
end