Skip to main content

code refactorings with Python idioms

Project description

Refactoring non-idiomatic Python code with Python idioms

Install:

For command line use, the package is installed with

python3 -m pip install RefactoringIdioms

Running:

1). Default command is to save all refactored files for all Python Idioms in the current directory in ./RefactoringIdiomsOutputdir/. And it can get <non-idiomatic code, idiomatic code> code pairs for all Python files in the current directory for all Python idioms, and save these code pairs in result.json in the current directory:

 RIdiom

2). Options:

--filepath "your filepath" (e.g., main.py) is to refactor "your filepath" file. The default path is the current directory.

--idiom "IdiomName" (e.g., List Comprehension) is to refactor for the specified "IdiomName". Options are List Comprehension, Set Comprehension, Dict Comprehension, Chain Comparison, Truth Value Test, Assign Multiple Targets, For Multiple Targets, For Else, Star in Call, All. The default idiom is "All" that means all idioms.

--outputdir "your output folder" (e.g.,RefactoringIdiomsOutputdir/ ) is to save all refactored files in "your output folder". The default directory is "./RefactoringIdiomsOutputdir".

--output_codepair "your output path" (e.g.,result.json ) is to save all code pairs in "your output folder". The default path is "result.json".

--flag_merge_allcodepair (e.g., 1 ) means whether to store a separate file for each code pair. The values are 0 and 1. The 1 means refactor a file with all code pairs. The 0 means refactor a file with each code pair individually. The default value is 1.

For example, if you want to refactor code for a Python idiom in the given directory and save the refactored files in the given directory, you can execute the following command:

RIdiom --filepath "your filepath" --idiom "IdiomName" --outputdir "your output folder" --output_codepair  "your output path" --flag_merge_allcodepair 1

Web application:

We also develop a web application for the code refactoring, you could access the application through the url: 47.242.131.128:5000

Each time, you could click code area to refresh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RefactoringIdioms-0.0.11.tar.gz (147.4 kB view hashes)

Uploaded Source

Built Distribution

RefactoringIdioms-0.0.11-py3-none-any.whl (198.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page