Re: [pgAdmin4][Patch][Feature #1998] Appends .sql if extension not given when using 'save' or 'save as' feature - Mailing list pgadmin-hackers
From | Rahul Soshte |
---|---|
Subject | Re: [pgAdmin4][Patch][Feature #1998] Appends .sql if extension not given when using 'save' or 'save as' feature |
Date | |
Msg-id | CAKyzeV11f+GYC64xA8BzBjSNwg91eH7MRHcFiLYfS4Wgz3A7kg@mail.gmail.com Whole thread Raw |
In response to | Re: [pgAdmin4][Patch][Feature #1998] Appends .sql if extension not given when using 'save' or 'save as' feature (Rahul Soshte <rahulsoshte360@gmail.com>) |
Responses |
Re: [pgAdmin4][Patch][Feature #1998] Appends .sql if extension not given when using 'save' or 'save as' feature
|
List | pgadmin-hackers |
// read data from codemirror and write to file
_save_file_handler: function(e) {
var self = this,
_e = e,
data = {
'file_name': decodeURI(e[0]),
'file_content': self.gridView.query_tool_obj.getValue(),
'file_type': e[1],
};
self.trigger(
'pgadmin-sqleditor:loading-icon:show',
gettext('Saving the queries in the file...')
);
// Make ajax call to save the data to file
$.ajax({
url: url_for('sqleditor.save_file'),
method: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
success: function(res) {
if (res.data.status) {
alertify.success(res.data.result);
alertify.success(gettext('File saved successfully.'));
self.gridView.current_file = res.data.result;
self.gridView.current_file_type = e[1];
self.setTitle(self.gridView.current_file.replace(/^.*[\\\/]/g, ''), true);
// disable save button on file save
$('#btn-save').prop('disabled', true);
_save_file_handler: function(e) {
var self = this,
_e = e,
data = {
'file_name': decodeURI(e[0]),
'file_content': self.gridView.query_tool_obj.getValue(),
'file_type': e[1],
};
self.trigger(
'pgadmin-sqleditor:loading-icon:show',
gettext('Saving the queries in the file...')
);
// Make ajax call to save the data to file
$.ajax({
url: url_for('sqleditor.save_file'),
method: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
success: function(res) {
if (res.data.status) {
alertify.success(res.data.result);
alertify.success(gettext('File saved successfully.'));
self.gridView.current_file = res.data.result;
self.gridView.current_file_type = e[1];
self.setTitle(self.gridView.current_file.replace(/^.*[\\\/]/g, ''), true);
// disable save button on file save
$('#btn-save').prop('disabled', true);
On Sat, Apr 14, 2018 at 4:50 PM, Rahul Soshte <rahulsoshte360@gmail.com> wrote:
On Sat, Apr 14, 2018 at 4:49 PM, Rahul Soshte <rahulsoshte360@gmail.com> wrote:Also attaching my web/pgadmin/tools/sqleditor/stmy _save_file_handler codeatic/sqleditor.js On Sat, Apr 14, 2018 at 4:46 PM, Rahul Soshte <rahulsoshte360@gmail.com> wrote:Hi,I have been partially able to solve the problem as you can see in the image. When I select sql in format combobox then only the .sql extension is added.
But another issue has arisen. Once the file is saved and now When I change the text in the CodeMirror , the save button is enabled and then when I click on it , a error message pops.The problem is whenever I try to save a file for the first time the code works ,but the 2nd timeI try to save it,the code faulters.
Error message is as follows:
Traceback (most recent call last):
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1997, in __call__
return self.wsgi_app(environ, start_response)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1982, in wsgi_app
response = self.full_dispach_request()
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask/a pp.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/flask_l ogin.py", line 792, in decorated_view
return func(*args, **kwargs)
File "/var/www/flask/pgadmin4/pgadmin4/web/pgadmin/tools/sqledito r/__init__.py", line 1314, in save_file
'file_path': file_path
File "/var/www/flask/pgadmin4/pgadmin4/web/pgadmin/utils/ajax.py" , line 61, in make_json_response
separators=(',', ':')),
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/simplej son/__init__.py", line 399, in dumps
**kw).encode(obj)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/simplej son/encoder.py", line 291, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/simplej son/encoder.py", line 373, in iterencode
return _iterencode(o, 0)
File "/var/www/flask/pgadmin4/pgadmin4/web/pgadmin/utils/ajax.py" , line 30, in default
return json.JSONEncoder.default(self, obj)
File "/var/www/flask/pgadmin4/lib/python2.7/site-packages/simplej son/encoder.py", line 268, in default
o.__class__.__name__)
TypeError: Object of type Response is not JSON serializableI pass an array which contains the file_name and file_type in /pgadmin/misc/file_manager/static/js/file_manager.js
Also I have done similar changes around line 678.Also in web/pgadmin/tools/sqleditor/__init__.py I have made the folllowing changes Also I have attached my web/pgadmin/tools/sqleditor/utils/save_file_query_to_file_ut ils.py
Attachment
pgadmin-hackers by date: