feat: initial commit
This commit is contained in:
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
||||
out
|
||||
.venv
|
||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
out
|
||||
.venv
|
||||
12
Dockerfile
Normal file
12
Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM python:3-alpine
|
||||
|
||||
COPY . /app
|
||||
WORKDIR /app
|
||||
|
||||
VOLUME /app/out
|
||||
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
ENTRYPOINT [ "/app/entrypoint.sh" ]
|
||||
|
||||
CMD [ "start" ]
|
||||
14
entrypoint.sh
Normal file
14
entrypoint.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "No command provided"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" = "start" ]; then
|
||||
echo "Running the command: python /app/pyrpg.py ${NUMBER_OF_PSEUDONYMS:-100}"
|
||||
python /app/pyrpg.py ${NUMBER_OF_PSEUDONYMS:-100}
|
||||
else
|
||||
echo "Running the command: $@"
|
||||
exec "$@"
|
||||
fi
|
||||
42
pyrpg.py
Normal file
42
pyrpg.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import nltk
|
||||
import sys
|
||||
import random
|
||||
import os
|
||||
|
||||
def main():
|
||||
try:
|
||||
num_pseudonyms = int(sys.argv[1]) if len(sys.argv) == 2 else 100
|
||||
except ValueError:
|
||||
print("The argument must be an integer.")
|
||||
return
|
||||
|
||||
# Load the corpora
|
||||
nltk.download('wordnet')
|
||||
nltk.download('averaged_perceptron_tagger')
|
||||
nltk.download('universal_tagset')
|
||||
|
||||
# Get all the adjectives and nouns
|
||||
adjectives = set()
|
||||
nouns = set()
|
||||
for synset in nltk.corpus.wordnet.all_synsets():
|
||||
for lemma in synset.lemmas():
|
||||
if lemma.name().isalpha():
|
||||
if synset.pos() == 'a':
|
||||
adjectives.add(lemma.name())
|
||||
elif synset.pos() == 'n':
|
||||
nouns.add(lemma.name())
|
||||
|
||||
# Create the output directory if it doesn't exist
|
||||
os.makedirs('out', exist_ok=True)
|
||||
|
||||
# Write the pseudonyms to a file
|
||||
with open('out/pseudonyms.txt', 'w+') as file:
|
||||
for _ in range(num_pseudonyms):
|
||||
adjective = list(adjectives)[random.randint(0, len(adjectives) - 1)].capitalize()
|
||||
noun = list(nouns)[random.randint(0, len(nouns) - 1)].capitalize()
|
||||
number = random.randint(1, 999)
|
||||
pseudonym = f'{adjective}-{noun}-{number}'
|
||||
file.write(pseudonym + '\n')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
nltk
|
||||
Reference in New Issue
Block a user