diff --git a/aos/seasocks/gen_embedded.py b/aos/seasocks/gen_embedded.py
index fdcdfd9..b6f43aa 100755
--- a/aos/seasocks/gen_embedded.py
+++ b/aos/seasocks/gen_embedded.py
@@ -13,18 +13,18 @@
 output = sys.argv[1].replace('"', '')
 
 if not os.path.exists(os.path.dirname(output)):
-  os.makedirs(os.path.dirname(output))
+    os.makedirs(os.path.dirname(output))
 
 if len(sys.argv) >= 3:
-  web = sys.argv[2:]
+    web = sys.argv[2:]
 else:
-  web = []
-  for root, dirs, files in os.walk("./www_defaults", topdown=False):
-    for name in files + dirs:
-      web.append(os.path.join(root, name))
+    web = []
+    for root, dirs, files in os.walk("./www_defaults", topdown=False):
+        for name in files + dirs:
+            web.append(os.path.join(root, name))
 
 with open(output, 'w') as o:
-  o.write("""
+    o.write("""
 #include "internal/Embedded.h"
 
 #include <string>
@@ -35,14 +35,14 @@
 std::unordered_map<std::string, EmbeddedContent> embedded = {
 """)
 
-  for f in web:
-    with open(f, 'rb') as file:
-      bytes = file.read()
-    o.write('{"/%s", {' % os.path.basename(f))
-    o.write('"' + "".join(['\\x%02x' % x for x in bytes]) + '"')
-    o.write(',%d }},' % len(bytes))
+    for f in web:
+        with open(f, 'rb') as file:
+            bytes = file.read()
+        o.write('{"/%s", {' % os.path.basename(f))
+        o.write('"' + "".join(['\\x%02x' % x for x in bytes]) + '"')
+        o.write(',%d }},' % len(bytes))
 
-  o.write("""
+    o.write("""
 };
 
 } // namespace
