SkillAgentSearch skills...

Spintax

Python class to managing spinning and unspining lists and links with spintax / spyntax.

Install / Use

/learn @rexibit/Spintax
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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>

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated4y ago
Forks6

Languages

Python

Security Score

60/100

Audited on Feb 11, 2022

No findings