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
50 changes: 0 additions & 50 deletions docassemble/InterviewStats/data/questions/stats.yml
Original file line number Diff line number Diff line change
Expand Up @@ -343,56 +343,6 @@ code: |
formatted_data = pd.DataFrame(stats)
stats_size = formatted_data.shape[0]
---
# mandatory: True
id: view_data
question: |
Stats for ${interview_title}
subquestion: |
Total submissions: ${ len(stats) }

% if len(stats):
Group by:
% for col in groupable_columns:
[${col}](${ url_action('show_grouped_data', group_by = col ) }) |
% endfor

[:file-excel: Make Excel Download](${ url_ask('generate_excel') })
% endif
fields:
- Filter State: filter_state
datatype: yesno
disable if:
code: |
'state' not in formatted_data.columns or not possible_states
- Find States that: state_op
datatype: dropdown
show if: filter_state
code: |
[{'eq': "equal"},
{'ne': "don't equal"}]
- this state: state_to_filter
datatype: dropdown
show if: filter_state
code: |
possible_states
- Filter by Date: filter_date
datatype: yesno
disable if:
code: |
'modtime' not in formatted_data.columns
- Find submissions that are: date_op
datatype: dropdown
show if: filter_date
code: |
[{'gt': 'after'},
{'lt': 'before'},
{'eq': 'the same day as'}]
- this date: date_to_filter
datatype: date
show if: filter_date
continue button field: start_filter
continue button label: Filter
---
event: show_grouped_data
code: |
my_col = action_argument('group_by')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,14 @@ code: |
# Edit your data here
ma_zips = list(set([f'{random.randint(75001, 79999):05}' for _ in range(300)])) \
+ list(set([f'{random.randint(1001,2799):05}' for _ in range(300)]))
import datetime
datetimes = [datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None) - datetime.timedelta(days=i) for i in range(30)]
def my_generator():
for _ in range(number_of_data_points):
yield {'zip': random.choice(ma_zips), 'state': 'MA'}
write_random_user(my_generator())
def modtime_generator():
return random.choice(datetimes)
write_random_user(my_generator(), modtime_generator=modtime_generator)
elif what_to_do == 'delete':
which_to_delete
delete_data_from_interview(which_to_delete)
Expand Down
13 changes: 9 additions & 4 deletions docassemble/InterviewStats/generate_test_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,19 @@
__all__ = ["write_random_user", "delete_data_from_interview"]


def write_random_user(data_iterator, filename=None, tags=None):
def write_random_user(data_iterator, filename=None, tags=None, modtime_generator=None):
if not filename:
filename = get_current_info().get("yaml_filename", None)
for data in data_iterator:
random_uid = random_alphanumeric(32)
new_entry = JsonStorage(
filename=filename, key=random_uid, data=data, tags=tags, persistent=False
)
if modtime_generator:
new_entry = JsonStorage(
filename=filename, key=random_uid, data=data, tags=tags, persistent=False, modtime=modtime_generator()
)
else:
new_entry = JsonStorage(
filename=filename, key=random_uid, data=data, tags=tags, persistent=False
)
JsonDb.add(new_entry)
JsonDb.commit()

Expand Down
Loading