Adeel 4 years ago
parent
commit
b52ce9b3c9
5 changed files with 40 additions and 37 deletions
  1. 10 11
      api_frontend/index.html
  2. BIN
      images/a.png
  3. BIN
      images/b.png
  4. 28 24
      pdf_comaprison_flask_api/app.py
  5. 2 2
      pdf_comaprison_flask_api/models.py

+ 10 - 11
api_frontend/index.html

@@ -24,17 +24,21 @@
                     <h1>Upload Reference File</h1>
         
                     <form id="upload-reference-file" method="post" enctype="multipart/form-data" onsubmit="return false">
-                        <div class="custom-file">
+                        <div class="custom-file" id="ref-upload-form">
                             <input type="file" class="custom-file-input" name="reference" id="customFile2">
                             <label class="custom-file-label" id="custom-file-label2" for="customFile">Choose Reference File</label>
                             
                             <textarea name="description" class="form-control" id="exampleFormControlTextarea2" rows="3" placeholder="Enter description" style="margin-top: 10px;"></textarea>
-                                   
+                            <div class="input-group col-sm-3" style="margin-top: 10px; margin-left: -15px;">
+                                <input type="text" class="form-control" name="regex1" id="regex1" placeholder="Enter Regex" >
+                                <span class="input-group-addon"></span>
+                                <i id="add1" onClick="addField();" class="fa fa-plus-square fa-2x" aria-hidden="true" style="margin-top: 5px;margin-left: 10px;"></i>
+                            </div>       
                         </div>
                         
                         <br>
                         <div>
-                            <button id="ref" class="btn btn-primary" style="margin-top: 120px;">Upload</button>
+                            <button id="ref" class="btn btn-primary" style="margin-top: 25px;">Upload</button>
                         </div>
                     </form>
                 </div>
@@ -59,20 +63,15 @@
                     <h1>Upload Original File</h1>
         
                     <form id="upload-original-file" method="post" enctype="multipart/form-data" onsubmit="return false">
-                        <div class="custom-file"  id="orig-upload-form">
+                        <div class="custom-file">
                             <input type="file" class="custom-file-input" name="original" id="customFile1">
                             <label class="custom-file-label" id="custom-file-label1" for="customFile">Choose Original File</label>
 
                             <textarea name="description" class="form-control" id="exampleFormControlTextarea1" rows="3" placeholder="Enter description" style="margin-top: 10px;"></textarea>
                             
-                            <div class="input-group col-sm-3" style="margin-top: 10px; margin-left: -15px;">
-                                <input type="text" class="form-control" name="regex1" id="regex1" placeholder="Enter Regex" >
-                                <span class="input-group-addon"></span>
-                                <i id="add1" onClick="addField();" class="fa fa-plus-square fa-2x" aria-hidden="true" style="margin-top: 5px;margin-left: 10px;"></i>
-                            </div>
 
                         </div>
-                        <div class="form-group" style="margin-top: 15px;">
+                        <div class="form-group" style="margin-top: 105px;">
                             <select name="reference_uuid" class="form-control" id="sel1">
                               <option selected="true" disabled="disabled">Select Reference File UUID</option>   
                               
@@ -115,7 +114,7 @@
                     $('#add' + count).hide();
                     count += 1;
                     var html = '<div class="input-group col-sm-3" style="margin-top: 10px; margin-left: -15px;"><input type="text" class="form-control" name="regex'  + count + '" id="regex'  + count + '" placeholder="Enter Regex" ><span class="input-group-addon"></span><i id="add'  + count + '" onClick="addField();" class="fa fa-plus-square fa-2x" aria-hidden="true" style="margin-top: 5px;margin-left: 10px;"></i></div>';
-                    $("#orig-upload-form" ).append( html );
+                    $("#ref-upload-form" ).append( html );
                 }
                 else{
                     $('#msg').text('Enter Regex Please');

BIN
images/a.png


BIN
images/b.png


+ 28 - 24
pdf_comaprison_flask_api/app.py

@@ -25,7 +25,7 @@ app.config.from_object(Config)
 db = SQLAlchemy(app)
 migrate = Migrate(app, db)
 
-from models import ReferenceFile, OriginalFile, OriginalFileRegex
+from models import ReferenceFile, OriginalFile, ReferenceFileRegex
 
 CORS(app)
 Bootstrap(app)
@@ -45,6 +45,20 @@ def upload_reference_file():
         if request.files:
             desc = request.form['description']
             file_ref = request.files['reference']
+
+            count = 1
+            regex_list = []
+            while True:
+                try:
+                    reg = request.form['regex' + str(count)]
+                    if reg == '':
+                        break 
+                    else:
+                        regex_list.append(reg)
+                except Exception:
+                    break
+                count += 1 
+            
             files_json = [{'file_ref':file_ref.filename,'uuid':str(uu_id.int), 'desc':desc}]
             try:
                 if  allowed_file(file_ref.filename):
@@ -56,6 +70,14 @@ def upload_reference_file():
                         description=desc)
                     db.session.add(ref)
                     db.session.commit()
+
+                    for i, reg in enumerate(regex_list):
+                        ref_regex = ReferenceFileRegex(
+                            regex=reg,
+                            uuid_ref=str(uu_id.int))
+                        db.session.add(ref_regex)
+                    db.session.commit()
+
                     return jsonify(files_json)
                 else:
                     return Response("All fields must be selected", status=400, mimetype='application/json')
@@ -68,6 +90,10 @@ def upload_reference_file():
         #### DELETE
         else:
             uuid_value = request.json['uuid']
+
+            ReferenceFileRegex.query.filter_by(uuid_ref = uuid_value).delete()
+            db.session.commit()
+
             ref = ReferenceFile.query.filter_by(uuid = uuid_value).one()
             db.session.delete(ref)
             db.session.commit()
@@ -128,19 +154,6 @@ def upload_original_file():
                 desc = request.form['description']
                 ref_uuid = request.form['reference_uuid']
                 file_orig = request.files['original']
-                count = 1
-                regex_list = []
-                while True:
-                    try:
-                        reg = request.form['regex' + str(count)]
-                        if reg == '':
-                            break 
-                        else:
-                            regex_list.append(reg)
-                    except Exception:
-                        break
-                    count += 1 
-                
                 files_json = [{'file_orig':file_orig.filename,'uuid':str(uu_id.int), 'desc':desc, 'ref_uuid':ref_uuid}]
                 if  allowed_file(file_orig.filename):
                     blob_orig = base64.b64encode(file_orig.read())
@@ -152,13 +165,7 @@ def upload_original_file():
                         uuid_ref=ref_uuid)
                     db.session.add(orig)
                     db.session.commit()
-
-                    for i, reg in enumerate(regex_list):
-                        orig_regex = OriginalFileRegex(
-                            regex=reg,
-                            uuid_orig=str(uu_id.int))
-                        db.session.add(orig_regex)
-                    db.session.commit()
+                    
                     return jsonify(files_json)
                 else:
                     return Response("All fields must be selected", status=422, mimetype='application/json')
@@ -171,9 +178,6 @@ def upload_original_file():
         else:
             uuid_value = request.json['uuid']
             try:
-                OriginalFileRegex.query.filter_by(uuid_orig = uuid_value).delete()
-                db.session.commit()
-
                 orig = OriginalFile.query.filter_by(uuid = uuid_value).one()
                 db.session.delete(orig)
                 db.session.commit()

+ 2 - 2
pdf_comaprison_flask_api/models.py

@@ -19,10 +19,10 @@ class OriginalFile(db.Model):
     def __repr__(self):
         return '<UUID {}>'.format(self.uuid)
 
-class OriginalFileRegex(db.Model):
+class ReferenceFileRegex(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     regex = db.Column(db.String(250), nullable=False)
-    uuid_orig = db.Column(db.String(64), nullable=False) 
+    uuid_ref = db.Column(db.String(64), nullable=False) 
     
     def __repr__(self):
         return '<ID {}>'.format(self.id)