Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions task-02/completed.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
## Those who have completed this task:

hector-mr
59 changes: 48 additions & 11 deletions task-03/get_top_names.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,62 @@
"""
get_top_names.py
For astrophg/learning-by-doing: Task 3
https://github.com/astropgh/learning-by-doing/tree/master/task-03
"""
#"""
#get_top_names.py
#For astrophg/learning-by-doing: Task 3
#https://github.com/astropgh/learning-by-doing/tree/master/task-03
#"""

def extract_data_lines(filename, start_text, end_text):
def extract_data_lines(filename, start_text, end_text, include_start = False, include_end = False):
"""
open `filename`, and yield the lines between
the line that contains `start_text` and the line that contains `end_text`
"""
# fill in code as needed

# Needed to record the text in between
parsing = False

# use `yield line` to return desired lines but keep the function going
with open(filename) as fh:

for line in fh:
# fill in code as needed
# use `yield line` to return desired lines but keep the function going

######################################################################

if start_text in line:

parsing = True

if not include_start:

continue

######################################################################

elif end_text in line:

if include_end:

#parsing = True
yield line
break

else:

parsing = False

######################################################################


if parsing: # Do stuff with the data

yield line



if __name__ == '__main__':
filename = 'top5names.html'
start_text = '<tr><td align="center">2017</td>'
end_text = '</table></center></div><!-- end #content -->'


for line in extract_data_lines(filename, start_text, end_text):
print(line)
for line in extract_data_lines(filename, start_text, end_text, include_start = False, include_end = False):

print(line)