From 40a5aaff21e1107fb64d5ece656d0a95ee699665 Mon Sep 17 00:00:00 2001 From: Jeff Hacker Date: Tue, 16 Jun 2015 16:23:29 -0400 Subject: [PATCH 1/3] passed extractor test --- textminer/extractor.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/textminer/extractor.py b/textminer/extractor.py index e69de29..4ef52a5 100644 --- a/textminer/extractor.py +++ b/textminer/extractor.py @@ -0,0 +1,10 @@ +import re + +def phone_numbers(text): + phone_pattern = r'\(\d{3}\) ?\d{3}\-.{4}' + return re.findall(phone_pattern, text) + + +def emails(text): + email_pattern = r'[\w.\w]+\@\w+\....' + return re.findall(email_pattern, text) \ No newline at end of file From 7dc4db33d3233ff766512429fc9a08a1a4a4f516 Mon Sep 17 00:00:00 2001 From: Jeff Hacker Date: Tue, 16 Jun 2015 23:29:49 -0400 Subject: [PATCH 2/3] soved several - no more tests passed --- textminer/separator.py | 18 ++++++++++++++++++ textminer/tests/test_separator.py | 6 ++++-- textminer/tests/test_validator.py | 9 ++++----- textminer/validator.py | 9 +++++++++ 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/textminer/separator.py b/textminer/separator.py index e69de29..0fc9f09 100644 --- a/textminer/separator.py +++ b/textminer/separator.py @@ -0,0 +1,18 @@ +import re + +def phone_number(text): + area_code = "919" + # close on this pattern + phone_num = "\d{3}.\d{4}" + answer = area_code, phone_num + # yeild {} + + return re.findall(answer, text) + + +def money(text): + symbol = "\$" + amount = "\d+\.\d+" + answer = symbol, amount + return re.findall(answer, text) + diff --git a/textminer/tests/test_separator.py b/textminer/tests/test_separator.py index d81dedc..e52362a 100644 --- a/textminer/tests/test_separator.py +++ b/textminer/tests/test_separator.py @@ -16,6 +16,7 @@ def test_words(input, expected): assert s.words(input) == expected +# Working on this now, close @xfail @params("input,expected", [ ("919-555-1212", {"area_code": "919", "number": "555-1212"}), @@ -25,10 +26,11 @@ def test_words(input, expected): ("919 555-1212", {"area_code": "919", "number": "555-1212"}), ("555-121", None) ]) +# solved this one def test_phone_numbers(input, expected): assert s.phone_number(input) == expected - +#${1} \d+.\d+ @xfail @params("input,expected", [ ("$4", {"currency": "$", "amount": 4.0}), @@ -56,7 +58,7 @@ def test_money(input, expected): currencies later.""" assert s.money(input) == expected - +# close \b\d{5,5}-?(\d{4})? need to exclude the -? @xfail @params("input,expected", [ ("63936", {"zip": "63936", "plus4": None}), diff --git a/textminer/tests/test_validator.py b/textminer/tests/test_validator.py index b7e1364..a9b4ee8 100644 --- a/textminer/tests/test_validator.py +++ b/textminer/tests/test_validator.py @@ -3,7 +3,7 @@ import textminer.validator as v - +# for whole binary thing.. [0-1] @xfail def test_binary_numbers(): assert v.binary("0") @@ -14,16 +14,15 @@ def test_binary_numbers(): assert not v.binary("") assert not v.binary("911") - @xfail def test_binary_even(): """String must be a binary number and be even.""" - + # (\d+)?0\b assert v.binary_even("10") assert v.binary_even("1110100010") assert not v.binary_even("1011") - +# [0-F] don't know why lower cases are being chosen @xfail def test_hexadecimal(): assert v.hex("CAFE") @@ -109,7 +108,7 @@ def test_money(): assert not v.money("31") assert not v.money("$$31") - +# \d{5}\-?(\d{4})? @xfail def test_zip(): assert v.zipcode("63936") diff --git a/textminer/validator.py b/textminer/validator.py index e69de29..e5b6495 100644 --- a/textminer/validator.py +++ b/textminer/validator.py @@ -0,0 +1,9 @@ +def binary(test): + + return None + + +def binary_even(text): + binary = "(\d+)?0\b" + + return None From 552f431185074d528891a0c631051e536a06e102 Mon Sep 17 00:00:00 2001 From: Jeff Hacker Date: Mon, 20 Jul 2015 22:55:44 -0400 Subject: [PATCH 3/3] uncommitted changes --- .idea/.name | 1 + .idea/misc.xml | 14 ++ .idea/modules.xml | 8 + .idea/textminer.iml | 16 ++ .idea/vcs.xml | 6 + .idea/workspace.xml | 562 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 607 insertions(+) create mode 100644 .idea/.name create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/textminer.iml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..04d5c80 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +textminer \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..51eab54 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..fc564a6 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/textminer.iml b/.idea/textminer.iml new file mode 100644 index 0000000..b580034 --- /dev/null +++ b/.idea/textminer.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..99aec5b --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1434478547029 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file