Friends,
Each step is a challenge, now to populate my table I’m getting the return below:
Traceback (most recent call last):
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\flask\app.py”, line 2525, in wsgi_app
response = self.full_dispatch_request()
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\flask\app.py”, line 1822, in full_dispatch_request
rv = self.handle_user_exception(e)
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\flask\app.py”, line 1820, in full_dispatch_request
rv = self.dispatch_request()
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\flask\app.py”, line 1796, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\dash\dash.py”, line 1259, in dispatch
ctx.run(
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\dash_callback.py”, line 439, in add_context
output_value = func(*func_args, **func_kwargs) # %% callback invoked %%
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\dash_extensions\callback.py”, line 171, in decorated_function
args[i] = self.cache.get(args[i])
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\cachelib\file.py”, line 205, in get
filename = self._get_filename(key)
File “c:\Users\EliasPai\kivy_venv\lib\site-packages\cachelib\file.py”, line 202, in _get_filename
return os.path.join(self._path, bkey_hash)
UnboundLocalError: local variable ‘bkey_hash’ referenced before assignment
Just below is my callback:
@cc.callback(Output('datatable-data', 'data'),
Output('datatable-data', 'columns'),
[Input("store", "data"),
Input('year-slider', 'value'),
Input('drop-cidade', 'value'),
Input('check-inline-mes', 'value'),
Input(ThemeSwitchAIO.ids.switch("theme"), "value"),
Input('drop-bairro', 'value'),])
def update_table(df, date, dropdown_cidade, mes, toggle, dropdown_bairro):
template = template_theme1 if toggle else template_theme2
if ('TODAS' in dropdown_cidade):
mask = (df['ANO'] == date) & (df['OPERACAO'] == 'V') & \
(df['MES'].isin(mes)) & (df['CANCELADO'] != '*')
else:
mask = (df['ANO'] == date) & (df['OPERACAO'] == 'V') & \
(df['CIDADE'].isin(dropdown_cidade)) & (df['BAIRRO'].isin(dropdown_bairro)) & \
(df['MES'].isin(mes)) & (df['CANCELADO'] != '*')
#'QT_PRATELEIRA', 'QT_DEPOSITO',
df_pivot = pd.pivot_table(
df.loc[mask], index=['CODIGO', 'DESCRICAO',
'ESTOQUE', 'GRUPO',
'FAMILIA', 'UNIDADE',],
values='QUANTIDADE',
columns='MES',
aggfunc=sum).reset_index().fillna(0)
df_pivot = df_pivot.rename(
{1: 'JAN', 2: 'FEV', 3: 'MAR', 4: 'ABR', 5: 'MAI', 6: 'JUN',
7: 'JUL', 8: 'AGO', 9: 'SET', 10: 'OUT', 11: 'NOV', 12: 'DEZ'}, axis=1)
cols = []
textCols = ['CODIGO', 'DESCRICAO', 'GRUPO', 'FAMILIA', 'UNIDADE']
for i in df_pivot.columns:
if i not in textCols:
cols.append({"name": str(i),
"id": str(i),
"type": "numeric",
"format": formatted})
else:
cols.append({"name": str(i),
"id": str(i),
"type": "text"})
return df_pivot.to_dict('records'), cols
#---------------------------------------------------------------------------------------------------------------------------
# This call registers the callbacks on the application.
cc.register(app)