forked from rexibit/spintax
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
154 lines (100 loc) · 4.78 KB
/
README.txt
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Tested and working with:
Python 3.4 as well as Python 2.5, Python 2.6, Python 2.7
**Spintax3**
Spintax3 is a port of https://github.com/rexibit/spintax for Python 3.
For the time being, It will follow the original code as precisely as possibly. Only changes required for Python3 will be made.
**Spintax**
Spintax is a great way to mad-lib or easily alter parts of text for reuse.
It's too bad that more people don't make use of it. That's where this class comes in!
**About**
Spintax is developed using Python 2.7 and hasn't been tested in prior versions.
It is basically a port and clean up of the PHP methods used on http://www.getspintax.com
Github Repository URL: https://github.com/rexibit/spintax
**Use**
The Spintax class currently has these methods:
- ``get_spintax``, takes a list of strings and converts it to a spun string using the bracket list
and delimiter specified when called.
::
spintax = Spintax()
# Get your text to be spun from a file, text area, etc. and store it into a list
list_to_spin = []
# Get your bracket list from the ``get_bracket_type`` method
bracket_list = spintax.get_bracket_type('curly')
# Specify the delimiter string
delimiter_string = '|'
spun_string = spintax.get_spintax(list_to_spin, bracket_list, delimiter_string)
# Outputs: {text part 1|text part 2|text part 3|...}
print spun_string
- ``get_spun_links``, takes a list of strings and a list of URLs and converts to a spun string using
the bracket list, delimiter, and link type specified when called.
::
spintax = Spintax()
# Get your text to be spun from a file, text area, etc. and store it into a list
list_to_spin = []
# Get your URLs to be spun from a file, text area, etc. and store it into a list
links_to_spin = []
# Get your bracket list from the ``get_bracket_type`` method
bracket_list = spintax.get_bracket_type('curly')
# Specify the delimiter string
delimiter_string = '|'
# Specify the type of link you want outputted
link_type_string = 'html'
spun_string = spintax.get_spun_links(list_to_spin, links_to_spin, bracket_list,
delimiter_string, link_type_string)
# Outputs: <a href="{http://www.example1.com|http://www.example2.com|http://www.example3.com|
#...}">{text part 1|text part 2|text part 3|...}</a>
print spun_string
- ``unspin``, unspins a string that contains spintax
::
spintax = Spintax()
spun_string = '<a href="{http://www.example1.com|http://www.example2.com|http://www.example3.com|
...}">{text part 1|text part 2|text part 3|...}</a>'
# Outputs a random string and URL, <a href="http://www.example2.com">text part 3</a>
print spintax.unspin(spun_string)
- ``get_bracket_type``, takes a string and returns a list for the opening and closing brackets of the type
::
spintax = Spintax()
# Possible Types (strings): curly, angle, square, none
bracket_type_string = 'angle'
# Outputs: [<, >]
print spintax.get_bracket_type(bracket_type_string)
- ``get_url_version``, takes a spun string and returns it in lowercase with spaces replaced by -
::
spintax = Spintax()
spun_string = '{text part 1|text part 2|text part 3}'
#Outputs: {text-part-1|text-part-2|text-part-3}
print spintax.get_url_version(spun_string)
- ``get_link``, takes 3 strings: one for the type of link, one for the string, one for the URL,
and returns a formatted link based on the type chosen.
You can also customize new link types by using string Templates and adding to the dictionary in this method.
::
spintax = Spintax()
string = 'text part 1'
url_string = 'http://www.example1.com'
# Possible Types (strings): html, bbcode, scrapebox, senuke
link_type_string = 'html'
#Outputs: <a href="http://www.example1.com">text part 1</a>
print spintax.get_link(link_type_string, string, url_string)
**Command Line Run Script**
The Spintax class is very versatile, but if you just want to quickly spin something from a text file, the run.py script is it.
List of Options
::
-m, --method : lists the type of spin you want (normal, links, url)
-b, --bracket_type : the bracket type you want to use, default is "curly"
-d, --delimiter : the delimiter you want to use, default is "|"
-t, --link_type : the link type you want to use, default is "html"
-l, --link_file : the path to the link file you want to use
Examples
- Print out a spun list
::
$ python run.py "/path/to/list/file/list.txt"
$ {text part 1|text part 2|text part 3}
- Print out a spun list in URL format
::
$ python run.py -m url "/path/to/list/file/list.txt"
$ {text-part-1|text-part-2|text-part-3}
- Print out a spun list of links
::
$ python run.py -m links -l "/path/to/links/file/links.txt" "/path/to/list/file/list.txt"
$ <a href="{http://www.example1.com|http://www.example2.com|http://www.example3.com}
">{text part 1|text part 2|text part 3}</a>