def test_extract_issue_name_from_13ga(self):
        #Example: http://www.sec.gov/Archives/edgar/data/1115222/000021545715000168/dun.bradstreet.corp.txt
        # appears under "Title of Class of Securities"
        # TBD
        # DNB
        contents = load_file_contents("example_filings/dnb13ga.html")
        results = self.parser.parse(contents, content_type="text/html")
        self.assertEqual("COMMON STOCK", results.get('issue_name'))

        # Twitter
        contents = load_file_contents("example_filings/twitter13ga.html")
        results = self.parser.parse(contents, content_type="text/html")
        self.assertEqual("Common Stock, par value $0.000005 per share", results.get("issue_name"))
Example #2
0
 def test_sc13g_mismatched_address(self):
     contents = load_file_contents(
         "example_filings/sc13g_doc1_dnb_mismatched_address.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("26483E100", results.get('cusip'))
     self.assertEqual("103 JFK PARKWAY, SHORT HILLS, NJ 07078",
                      results.get('address'))
Example #3
0
 def test_sc13g_2a_comma_breakage(self):
     contents = load_file_contents(
         "example_filings/sc13g_comma_breakage.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("26483E100", results.get('cusip'))
     self.assertEqual("103 JFK PARKWAY, SHORT HILLS, NJ 07078",
                      results.get('address'))
Example #4
0
 def test_issuer_name_and_address_missing_from_nike_inc_html(self):
     contents = load_file_contents("example_filings/nikeinc.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("NIKE\nInc", results.get("issuer_name"))
     self.assertEqual("One Bowerman Drive, Beaverton, Oregon 97005-6453",
                      results.get("address"))
     self.assertEqual("Common Stock", results.get("issue_name"))
Example #5
0
 def test_apd_missing_cusip(self):
     contents = load_file_contents("example_filings/airproducts_13g.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     # Issuer name is jacked. The file is jacked. Let's ignore this:
     # self.assertEqual("AIR PRODUCTS & CHEMICALS, INC.", results.get("issuer_name"))
     self.assertEqual("COMMON SHARES", results.get("issue_name"))
     self.assertEqual("009158106", results.get("cusip"))
 def test_parse13ga_txt_dnb_none_type_for_address(self):
     contents = load_file_contents("example_filings/13ga-dun.bradstreet.corp.txt")
     results = self.parser.parse(contents, 'text/plain')
     self.assertEqual("26483E100", results.get('cusip'))
     self.assertEqual("103 JFK PARKWAY SHORT HILLS NJ 07078", results.get('address'))
     self.assertEqual("DUN & BRADSTREET CORP", results.get("issuer_name"))
     self.assertEqual("Common Stock", results.get("issue_name"))
 def test_broken_issue_names_from_targa_425(self):
     # See: http://www.sec.gov/Archives/edgar/data/1092914/000119312515029347/d864125d425.htm
     contents = load_file_contents("example_filings/targa_form_425.html")
     results = self.parser.parse(contents)
     self.assertEqual(['04939MAM1', '04939MAL3', '04939MAJ8'], results.get('cusip'))
     self.assertEqual(['6 5/8% SENIOR NOTES DUE 2020', '4 3/4% SENIOR NOTES DUE 2021', '5 7/8% SENIOR NOTES DUE 2023',
                       'SENIOR NOTES DUE 2018'], results.get('issue_name'))
 def test_parse13ga_txt(self):
     contents = load_file_contents("example_filings/albemarle_13ga.txt")
     results = self.parser.parse(contents, 'text/plain')
     self.assertEqual("012653101", results.get('cusip'))
     self.assertEqual("451 Florida Street, Baton Rouge, LA 70801", results.get('address'))
     self.assertEqual("Albemarle Corporation", results.get("issuer_name"))
     self.assertEqual("Common Stock", results.get("issue_name"))
 def test_home_depot_notes_breakage(self):
     # This error was caused by looking for the words "Common Stock" as the first possible match. The phrase
     # can appear in filings for other types of securities, too. Also, we need to match "Floating Rate Notes due 2017"
     # and similar phrases. Right now it's looking for a %.
     contents = load_file_contents('example_filings/hd_exhibit11x09082015.html')
     results = self.parser.parse(contents)
     self.assertEqual(['FLOATING RATE NOTES DUE 2017', '3.35% NOTES DUE 2025'], results.get("issue_name"))
 def test_apd_missing_cusip(self):
     contents = load_file_contents("example_filings/airproducts_13g.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     # Issuer name is jacked. The file is jacked. Let's ignore this:
     # self.assertEqual("AIR PRODUCTS & CHEMICALS, INC.", results.get("issuer_name"))
     self.assertEqual("COMMON SHARES", results.get("issue_name"))
     self.assertEqual("009158106", results.get("cusip"))
Example #11
0
 def test_sc13_twitter_cusip_parsed_incorrectly(self):
     contents = load_file_contents(
         "example_filings/sc13g_twitter_cusip_parsed_incorrectly.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("90184L102", results.get('cusip'))
     self.assertEqual(
         "1355 Market Street, Suite 900, San Francisco, California 94103",
         results.get('address'))
    def test_broken_aes_corp_caused_cleaning_error(self):
        contents = load_file_contents("example_filings/aes_corp_13da.html")
        results = self.parser.parse(contents)
        print results

        self.assertEqual('The AES Corporation', results.get('issuer_name'))
        self.assertEqual('Common Stock,\nPar Value $0.01 Per Share', results.get('issue_name'))
        self.assertEqual('00130H-10-5', results.get('cusip'))
 def test_missing_cusip_number_for_dnb_13ga_filing_txt(self):
     contents = load_file_contents("example_filings/dnb_13ga_filing.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     # See: http://www.sec.gov/Archives/edgar/data/1115222/000031506615001878/filing.txt
     self.assertEqual("DUN & BRADSTREET CORP DEL NEW", results.get("issuer_name"))
     self.assertEqual("103 JFK PKWY, SHORT HILLS, NJ 07078, USA", results.get("address"))
     self.assertEqual("COMMON STOCK", results.get("issue_name"))
     self.assertEqual("26483E100", results.get('cusip'))
 def test_parse13ga_html_missing_address(self):
     contents = load_file_contents("example_filings/twitter_sc13ga_did_not_parse_address.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("90184L102", results.get('cusip'))
     self.assertEqual("Twitter, Inc.", results.get("issuer_name"))
     self.assertEqual("Common Stock, $0.000005 par value\nper share", results.get("issue_name"))
     # TBD: Fix this
     self.assertEqual("1355 Market Street, Suite 900, San Francisco, CA 94103", results.get('address'))
Example #15
0
    def test_broken_aes_corp_caused_cleaning_error(self):
        contents = load_file_contents("example_filings/aes_corp_13da.html")
        results = self.parser.parse(contents)
        print results

        self.assertEqual('The AES Corporation', results.get('issuer_name'))
        self.assertEqual('Common Stock,\nPar Value $0.01 Per Share',
                         results.get('issue_name'))
        self.assertEqual('00130H-10-5', results.get('cusip'))
    def test_parser13ga(self):
        contents = load_file_contents("example_filings/twitter13ga.html")
        results = self.parser.parse(contents)
        print results

        self.assertEqual("90184L 102", results.get('cusip'))
        self.assertEqual("1355 Market Street, Suite 900, San Francisco, California 94103", results.get('address'))
        self.assertEqual("Twitter, Inc.", results.get('issuer_name'))
        self.assertEqual('Common Stock, par value $0.000005 per share', results.get('issue_name'))
    def test_nike_broken_13d_cusip_not_extracted(self):
        contents = load_file_contents('example_filings/nike_13d_broken_cusip.html')
        results = self.parser.parse(contents)
        print results

        self.assertEqual('654106103', results.get('cusip'))
        self.assertEqual('NIKE, Inc.', results.get('issuer_name'))
        self.assertEqual('Philip H. Knight, One Bowerman Drive, Beaverton, Oregon 97005, (503) 671-3500', results.get('address'))
        self.assertEqual('Class B Common Stock', results.get('issue_name'))
Example #18
0
    def test_nike_broken_13d_cusip_not_extracted(self):
        contents = load_file_contents(
            'example_filings/nike_13d_broken_cusip.html')
        results = self.parser.parse(contents)
        print results

        self.assertEqual('654106103', results.get('cusip'))
        self.assertEqual('NIKE, Inc.', results.get('issuer_name'))
        self.assertEqual(
            'Philip H. Knight, One Bowerman Drive, Beaverton, Oregon 97005, (503) 671-3500',
            results.get('address'))
        self.assertEqual('Class B Common Stock', results.get('issue_name'))
    def test_missing_cusip_number_for_dnb_13ga(self):
        # The title says "13G," but below there is text that says "Ammendment #1 and this comes back in the
        # search results as a 13G/A:
        # http://www.sec.gov/Archives/edgar/data/1115222/000114036115006261/doc1.htm

        contents = load_file_contents("example_filings/dnb13ga_missing_cusip.html")
        results = self.parser.parse(contents, content_type="text/html")
        print "---- %s  ------ " % str(results)
        self.assertEqual("26483E100", results.get('cusip'))
        self.assertEqual("COMMON STOCK", results.get("issue_name"))
        self.assertEqual("DUN   BRADSTREET CORP", results.get("issuer_name"))
        self.assertEqual("103 JFK PARKWAY, SHORT HILLS, NJ 07078", results.get("address"))
Example #20
0
 def test_parse13g_html(self):
     contents = load_file_contents("example_filings/SC_13G_Twitter.html")
     results = self.parser.parse(contents, content_type="text/html")
     results = {
         'cusip':
         '90184L 102',
         'address':
         '1355 Market Street, Suite 900, San Francisco, California 94103'
     }
     self.assertEqual("90184L 102", results.get('cusip'))
     self.assertEqual(
         "1355 Market Street, Suite 900, San Francisco, California 94103",
         results.get('address'))
Example #21
0
 def test_arqule_extract_issuer_name(self):
     contents = load_file_contents("example_filings/arqule_13g.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     self.assertEqual("ArQule, Inc.", results.get("issuer_name"))
     self.assertEqual("Common shares", results.get("issue_name"))
     self.assertEqual("04269E107", results.get("cusip"))
 def test_issuer_name_missing_from_swoosh_13g(self):
     contents = load_file_contents("example_filings/nike_swoosh_13g.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("NIKE, Inc.", results.get("issuer_name"))
 def test_arqule_extract_issuer_name(self):
     contents = load_file_contents("example_filings/arqule_13g.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     self.assertEqual("ArQule, Inc.", results.get("issuer_name"))
     self.assertEqual("Common shares", results.get("issue_name"))
     self.assertEqual("04269E107", results.get("cusip"))
 def test_extract_issuer_name_with_dashed_line_separator(self):
     contents = load_file_contents("example_filings/whole.foods.market.inc.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     self.assertEqual("WHOLE FOODS MARKET INC.", results.get("issuer_name"))
 def test_rejects_long_issue_names(self):
     contents = load_file_contents("example_filings/aflac_ex_4.1.html")
     results = self.parser.parse(contents)
     self.assertEqual(['3.625% SENIOR NOTES DUE 2024'], results.get("issue_name"))
Example #26
0
 def setUp(self):
     self.parser = Parser8kEx402()
     contents = load_file_contents("example_filings/google_8k_ex4.02.html")
     self.results = self.parser.parse(contents,
                                      "text/html",
                                      issuer_name="GOOGLE INC")
 def test_extract_from_other_ex42(self):
     contents = load_file_contents("example_filings/EX-4.2-DNB.html")
     results = self.parser.parse(contents)
     self.assertEqual(['26483E AH3'], results.get("cusip"))
     self.assertEqual(['4.000% SENIOR NOTES DUE 2020'], results.get("issue_name"))
 def setUp(self):
     self.parser = Parser8kEx101()
     contents = load_file_contents(
         "example_filings/google-EX-1.01-term-sheet.html")
     self.results = self.parser.parse(contents, "text/html")
 def test_extract_issue_name_from_13ga_text(self):
     contents = load_file_contents("example_filings/13ga-dun.bradstreet.corp.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     print results
     self.assertEqual("Common Stock", results.get('issue_name'))
Example #30
0
 def test_extract_cusip_from_zoetis(self):
     contents = load_file_contents("example_filings/r13gzoetisinc.html")
     results = self.parser.parse(contents, content_type="text/html")
     print results
     self.assertEqual("98978V103", results.get("cusip"))
 def test_extract_fields_from_nike_13ga_alt_format(self):
     contents = load_file_contents("example_filings/nike_13ga_alt_format.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("Common Stock", results.get("issue_name"))
     self.assertEqual("NIKE\nInc", results.get("issuer_name"))
     self.assertEqual("654106103", results.get("cusip"))
Example #32
0
 def test_extract_issuer_name_with_underscore_separator(self):
     contents = load_file_contents("example_filings/altera.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("Altera Corporation", results.get("issuer_name"))
Example #33
0
 def test_extract_issuer_name_with_dashed_line_separator(self):
     contents = load_file_contents(
         "example_filings/whole.foods.market.inc.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     self.assertEqual("WHOLE FOODS MARKET INC.", results.get("issuer_name"))
 def setUp(self):
     self.parser = Parser8kEx101()
     contents = load_file_contents("example_filings/google-EX-1.01-term-sheet.html")
     self.results = self.parser.parse(contents, "text/html")
 def test_extract_issuer_name_from_13ga_text(self):
     contents = load_file_contents("example_filings/13ga-dun.bradstreet.corp.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     print results
     self.assertEqual("DUN & BRADSTREET CORP", results.get("issuer_name"))
 def test_extract_multiple_cusips(self):
     contents = load_file_contents("example_filings/EX-99-multiple_convertible_notes.html")
     results = self.parser.parse(contents)
     self.assertEqual(['229678AD9', '229678AF4', '229678AH0'], results.get("cusip"))
 def setUp(self):
     self.parser = Parser8kEx402()
     contents = load_file_contents("example_filings/google_8k_ex4.02.html")
     self.results = self.parser.parse(contents, "text/html", issuer_name="GOOGLE INC")
 def test_extract_issuer_name_with_underscore_separator(self):
     contents = load_file_contents("example_filings/altera.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("Altera Corporation", results.get("issuer_name"))
 def test_issue_name_missing_from_13g_text(self):
     contents = load_file_contents("example_filings/sc13g_dnb.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     self.assertEqual("Common Stock", results.get("issue_name"))
 def test_extract_issue_name_from_13g(self):
     contents = load_file_contents("example_filings/sc13g_twitter.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("Common Stock", results.get("issue_name"))
 def test_extract_from_ex42(self):
     contents = load_file_contents("example_filings/EX-4.2-Lockheed.html")
     results = self.parser.parse(contents)
     self.assertEqual(['539830 AS8'], results.get("cusip"))
     self.assertEqual(['4.121% NOTES DUE 2013'], results.get("issue_name"))
 def test_sc13_twitter_cusip_parsed_incorrectly(self):
     contents = load_file_contents("example_filings/sc13g_twitter_cusip_parsed_incorrectly.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("90184L102", results.get('cusip'))
     self.assertEqual("1355 Market Street, Suite 900, San Francisco, California 94103", results.get('address'))
 def test_extract_multiple_issues(self):
     contents = load_file_contents("example_filings/EX-99-multiple_convertible_notes.html")
     results = self.parser.parse(contents)
     self.assertEqual(['2.50% CONVERTIBLE SENIOR NOTES DUE 2017',
                       '1.125% CONVERTIBLE SENIOR NOTES DUE 2018',
                       '1.875% CONVERTIBLE SENIOR NOTES DUE 2020'], results.get("issue_name"))
Example #44
0
 def test_extract_issue_name_from_13g(self):
     contents = load_file_contents("example_filings/sc13g_twitter.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("Common Stock", results.get("issue_name"))
 def test_broken_issuer_name_sc13d(self):
     contents = load_file_contents("example_filings/sc13d_broken_issuer_name.html")
     results = self.parser.parse(contents)
     self.assertEqual(['63888U108'], results.get('cusip'))
     self.assertEqual('Common Stock, $0.001 Par Value per share', results.get('issue_name'))
Example #46
0
 def test_issue_name_missing_from_13g_text(self):
     contents = load_file_contents("example_filings/sc13g_dnb.txt")
     results = self.parser.parse(contents, content_type="text/plain")
     self.assertEqual("Common Stock", results.get("issue_name"))
 def test_broken_issue_names_from_microsoft(self):
     contents = load_file_contents("example_filings/EX-4.2-MSFT.html")
     results = self.parser.parse(contents)
     self.assertEqual(['1.625% NOTES DUE 2018', '3.625% NOTES DUE 2023', '4.875% NOTES DUE 2043'], results.get('issue_name'))
     self.assertEqual(['594918 AV6', '594918 AW4', '594918 AX2'], results.get('cusip'))
Example #48
0
 def test_issuer_name_missing_from_swoosh_13g(self):
     contents = load_file_contents("example_filings/nike_swoosh_13g.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("NIKE, Inc.", results.get("issuer_name"))
 def test_cusip_number_missing_from_wal_mart(self):
     contents = load_file_contents("example_filings/walmart13ga.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("931142-10-3", results.get("cusip"))
 def test_sc13g_2a_comma_breakage(self):
     contents = load_file_contents("example_filings/sc13g_comma_breakage.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("26483E100", results.get('cusip'))
     self.assertEqual("103 JFK PARKWAY, SHORT HILLS, NJ 07078", results.get('address'))
Example #51
0
 def test_allstate_missing_cusip(self):
     contents = load_file_contents("example_filings/allstatecorp.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("020002101", results.get("cusip"))
 def test_issuer_name_and_address_missing_from_nike_inc_html(self):
     contents = load_file_contents("example_filings/nikeinc.html")
     results = self.parser.parse(contents, content_type="text/html")
     self.assertEqual("NIKE\nInc", results.get("issuer_name"))
     self.assertEqual("One Bowerman Drive, Beaverton, Oregon 97005-6453", results.get("address"))
     self.assertEqual("Common Stock", results.get("issue_name"))