Merge branch 'master' into master

This commit is contained in:
Ayush Bhardwaj 2019-10-04 11:04:15 +05:30 committed by GitHub
commit 6f9d6a7e65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 240 additions and 0 deletions

View File

@ -0,0 +1,24 @@
def check_phone_number(string):
if len(string) != 12:
return False
for i in range(0, 3):
if not string[i].isdecimal():
return False
if string[3] != '-':
return False
for i in range(4, 7):
if not string[i].isdecimal():
return False
if string[7] != '-':
return False
for i in range(8, 12):
if not string[i].isdecimal():
return False
return True
string = input("Enter a Sentence: ")
for i in range(len(string)):
split = string[i:i+12]
if check_phone_number(split):
print('Phone number has been found! : ' + split)

View File

@ -0,0 +1,10 @@
# Find Phone Number in a string
A python script that will extract phone numbers in a string
## Requirements
Python 3.7.3
## Usage
$ python Find-PhoneNumber-in-String.py
Enter a Sentence: Call me in this number 403-867-2229

View File

@ -0,0 +1,22 @@
# Running a Minecraft server in the background
This program runs a script (which can be specified) in a subprocess with redirected output
(new output location can be specified) and periodically checks a file for a keyword (both
the name of the file to check and the keyword to check for can be specified)
and exits (stopping the subprocess via sending a command), if the contents of the file
include the keyword.
You probably want to run this script in background, e.g. calling it via './run.py &'
or via 'nohup ./run.py &'.
A sample invocation could look like this:
```bash
nohup ./run.py &
```
Now the specified script, e.g. a Minecraft server, is running in the background.
```bash
echo stop > command.txt
```
After a short delay, the script in the background will be stopped.

View File

@ -0,0 +1,29 @@
#!/usr/bin/env python3
import subprocess
import time
filename_script = './start.sh' # the script that will be executed
filename_script_output = './log.txt'
filename_own_input = 'command.txt' # the file this script periodically reads from
stop_command = b'stop\n' # must be a binary string
exit_keyword = 'stop'
with open(filename_own_input, 'w') as f:
f.write('') # reset content of file and create it if needed
fd_script_output = open(filename_script_output, 'w') # create file descriptor for script to write its stdout to
script_process = subprocess.Popen( # start new process running script
filename_script,
stdin=subprocess.PIPE, # needed for script_process.communicate() (see below)
stdout=fd_script_output # redirect output
)
while True:
with open(filename_own_input, 'r') as f:
if exit_keyword in f.read(): # check if we should exit
script_process.communicate(input=stop_command) # stop subprocess and wait for it to terminate
break
time.sleep(1)
fd_script_output.close()

View File

@ -0,0 +1,3 @@
#!/bin/sh
java -Xmx2048M -Xms2048M -jar server.jar -nogui

View File

@ -34,11 +34,13 @@ So far, the following projects have been integrated to this repo:
|[Image circle formatter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Image-Circulator) |[Berk Gureken](https://github.com/bureken) |
|[Image To PDF](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/images2pdf)|[msaoudallah](https://github.com/msaoudallah)|
|[Instadp Web Scrapper](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/InstadpShower)|[Psychiquest](https://github.com/psychiquest)|
|[Minecraft Server in background](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Minecraft_server_in_background)|[Max von Forell](https://github.com/mvforell)|
|[Own IP locator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Location_Of_Own_IP_Adress)|[Chris]()|
|[Port Scanner](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Port_Scanner)|[Plutoberth](https://github.com/Plutoberth)|
|[Python Algebra Solver](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Algebra-Solver)|[Sengxay Xayachack](https://github.com/frankxayachack)|
|[Random name generator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Random_Names_Generator)| [Ayush Bhardwaj](https://github.com/hastagAB)|
|[Server Ping](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Ping_Server)|[prince]()|
|[Signature photo to PNG converter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/signature2png)|[Rodolfo Ferro](https://github.com/RodolfoFerro)|
|[Simple Webpage Parser](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/SimpleWebpageParser)|[Nitish Srivastava](https://github.com/nitish-iiitd)|
|[Slideshare downloader](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Slideshare-Downloader)|[Chris Goes](https://github.com/GhostofGoes)|
|[SMS your location](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/SmsYourLocation)|[prince]()|
@ -54,6 +56,7 @@ So far, the following projects have been integrated to this repo:
|[Zabbix API](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/zabbix_api)|[msg4sunny](https://github.com/msg4sunny)|
|[Zip password cracker](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/zip_password_cracker)|[umar abdullahi](https://github.com/umarbrowser)|
|[CLI Calculator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/cli_calculator)|[Willian GL](https://github.com/williangl) |
|[Find PhoneNumber in String](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Find-PhoneNumber-in-String)|[Austin Zuniga](https://github.com/AustinZuniga)|
## How to use :

59
signature2png/README.md Normal file
View File

@ -0,0 +1,59 @@
# Python signature editor
The present repo contains a Python script to process signature images, it returns a `png` image with transparent background containing only the signature.
## Setup
The Python PIL ([Python Image Library](http://pillow.readthedocs.io/en/latest/)) package with [Python 3](https://www.python.org/downloads/) is used in this repo.
To install PIL via pip:
```bash
pip install pillow
```
## Contents
The main script is [`signature.py`](https://github.com/RodolfoFerro/Signature/blob/master/scripts/signature.py), which contains a set of utility functions developed so far.
### Done so far
* Binarize your signature
* Remove background and make it transparent
### TODO
* Smooth image
* Image orientation
* Crop to get only signature
## Usage
The main script, [`signature.py`](https://github.com/RodolfoFerro/Signature/blob/master/scripts/signature.py) requires a set of parameters that are needed in the parser.
```bash
$ python signature.py -h
usage: signature.py [-h] -i INPUT [-o OUTPUT] [-th THRESHOLD]
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input image.
-o OUTPUT, --output OUTPUT
Output image.
-th THRESHOLD, --threshold THRESHOLD
```
An example to use this script is as follows:
```bash
$ python signature.py -i imgs/example.jpg -o imgs/result.png -th 190
```
### Results
<img src="https://raw.githubusercontent.com/RodolfoFerro/Signature/master/imgs/RudolfoAnaya.jpg" width="50%"><img src="https://raw.githubusercontent.com/RodolfoFerro/Signature/master/imgs/resultado.png" width="50%">
***
#### Reference to:
<https://github.com/RodolfoFerro/Signature>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,90 @@
# ===============================================================
# Author: Rodolfo Ferro Pérez
# Email: ferro@cimat.mx
# Twitter: @FerroRodolfo
#
# Script: Process signatures to remove background.
#
# ABOUT COPYING OR USING PARTIAL INFORMATION:
# This script was originally created by Rodolfo Ferro. Any
# explicit usage of this script or its contents is granted
# according to the license provided and its conditions.
# ===============================================================
from PIL import Image, ImageOps
import argparse
inFile = ''
outFile = ''
def binarize(img, threshold=127):
"""Utility function to binarize an image."""
for i in range(img.size[0]):
for j in range(img.size[1]):
if img.getpixel((i, j)) > threshold:
img.putpixel((i, j), 255)
else:
img.putpixel((i, j), 0)
return img
def make_transparent(img):
"""Utility function to make transparent background from image."""
img = img.convert("RGBA")
data = img.getdata()
transparent = []
for item in data:
if item[:3] == (255, 255, 255):
transparent.append((255, 255, 255, 0))
else:
transparent.append(item)
img.putdata(transparent)
return img
def main(inFile, outFile, threshold=190):
"""Main function to process image."""
img = Image.open(inFile).convert('L')
img = binarize(img, threshold=threshold)
img = make_transparent(img)
img.save(outFile)
return True
def parser():
"""Argument parser function."""
# Construct the argument parser:
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--input",
required=True,
type=str,
default="result.png",
help="Input image.")
ap.add_argument("-o", "--output",
type=str,
default="result.png",
help="Output image.")
ap.add_argument("-th", "--threshold",
type=int,
default=127)
args = vars(ap.parse_args())
return args['input'], args['output'], args['threshold']
if __name__ == "__main__":
inFile, outFile, threshold = parser()
main(inFile, outFile, threshold=threshold)